The present disclosure relates to an optimization engine, an optimization method, and a program that select optimal ones from among a plurality of access networks.
When a user uses a network service, the user uses a telecommunication circuit provided by a telecommunication carrier in some cases. For usable circuits, there are various physical media, such as optical circuits and wireless communication circuits. For example, for the optical circuits, telecommunications standards such as IEEE 802.3 (Ethernet(R)) and ITU-T G.983/G.984/G.987/G.989 exist. For the wireless communication circuits, telecommunications standards such as 3GPP 36 Series (LTE), IEEE 802.11 (wireless LAN), and IEEE 802.16 (WiMAX) exist.
A user terminal can perform communication by selectively using a plurality of different telecommunications standards. For example, in a case of a smartphone, a user can select which one of LTE, wireless LAN, and Bluetooth(R) to use. Moreover, circuits of different types of carriers using the same telecommunications standard can also be selectively used.
Since each access network offers different communication quality including a bandwidth, a delay, and the like, such access networks need to be selectively used as appropriate according to a purpose of use. As shown in
If a user terminal is connected to an access network that offers communication quality undesirable to a user or that is not suitable for a purpose, communication quality for other user terminals that use the access network is also lowered. As described above, effective use of communication resources in an entire network system possibly cannot be achieved.
For example, in the case of connection to an access network that offers communication quality undesirable to the user, a following situation may occur.
When an attempt is made to use an access network with insufficient radio field strength such as a public wireless LAN in a station or the like, since the number of modulation levels decreases, more communication resources such as time and frequency need to be allocated to the user. In other words, communication quality for other users is greatly degraded, due to the allocation of the communication resources.
In the case of connection to an access network that is not suitable for a purpose of the user, a following situation may occur.
It is assumed that a network (a) with a small total bandwidth but low latency exists. When the user using an application that does not require low latency, such as viewing a video, uses much of the bandwidth of the network (a), a delay increases in communication for a user using an application that requires low latency such as an online game, resulting in a satisfaction level being lowered. In other words, connection to an access network that is not suitable for a purpose may lead to lowering the satisfaction level of another user in some cases.
To overcome the above difficulties, it has been known that a user terminal includes a function of automatically selecting an access network (for example, see Patent Literature 1). The function is a function of predicting communication quality based on a radio field strength or the like of an accessible wireless LAN circuit and preferentially connecting to the wireless LAN circuit when the wireless LAN circuit is expected to ensure sufficient quality and is also accessible.
Such a function estimates communication quality from wireless access information. Accordingly, an error may occur between an estimated value and actual communication quality in some cases, depending on a degree of congestion in a higher-level network and behavior of other user terminals. A problem is addressed that in order to acquire the actual communication quality, it is necessary to connect to a circuit of interest once and measure quality.
Moreover, with the function, since a connection destination of another user terminal cannot be controlled, another problem is also addressed that network optimization in an entire system is difficult. For example, a case is considered in which while a user 1 wants to use an application that requires low-latency communication, a network 2 capable of low-latency communication is already occupied by a terminal of a user 2 who is using an application with a less demanding latency requirement. In such a case, a delay occurs in communication for the user 1, and it is difficult to achieve a satisfaction level of the user 1. On the other hand, communication for the user 2 is in a state of excessive quality. As described above, with the function of Patent Literature 1, service optimization is difficult.
To solve the problems with Patent Literature 1 (to optimize an entire network system), there is a scheme in which a server or a base station device on a network indicates a connection destination to a user terminal (for example, see Non-Patent Literature 1).
Patent Literature 1: Japanese Patent Laid-Open No. 2012-169971
Non-Patent Literature 1: D. Kimura, “A Novel RAT Virtualization System with Network-Initiated RAT Selection Between LTE and WLAN”, 978-1-5090-4183-1/17, 2017 IEEE
Non-Patent Literature 2: Hiroya Ono, Satoshi Narikawa, “Proposal of automatic optimal access selection scheme adaptive to a multi-access environment”, 2019 IEICE Society Conference, B-6-36
Non-Patent Literature 3: https://business.ntt-east.co.jp/service/azukeru_ms/, retrieved on Dec. 31, 2019
Non-Patent Literature 4: https://www.ntt.com/business/services/application/mail-groupware/office365.html, retrieved on Dec. 31, 2019
The network-initiated connection destination selection algorithm of Non-Patent Literature 1 is an either-or algorithm for switching between LTE and wireless LAN and the like. In other words, Non-Patent Literature 1 has a first problem that it is difficult to extend to environments in which more various types of access networks are accessible.
The selection algorithm of Non-Patent Literature 1 also has a second problem that an objective function for optimization involves only a throughput variable, and it is difficult to enhance a level of user satisfaction with an application that places importance on an indicator other than throughput. In recent years, applications have appeared with which satisfaction levels are greatly affected by delays and fluctuations in delay, and the connection destination selection scheme that takes only throughput into consideration cannot sufficiently enhance user satisfaction levels.
Moreover, each telecommunications standard has a physical property that is determined by radio frequency or the like, as well as unique features that are determined by a service form such as a cost. The selection algorithm of Non-Patent Literature 1 does not take such features into consideration, and selects a connection destination without reflecting characteristics of each access network. In other words, Non-Patent Literature 1 has a third problem that connection destination selection taking characteristics of each access network into consideration is impossible, and in this respect, user satisfaction levels cannot be sufficiently enhanced either.
As means for solving the three problems described above, a scheme is disclosed that optimizes an access destination of a user based on a utility function defined with a plurality of communication quality parameters and a feature of each access method factored in (see Non-Patent Literature 2).
On another front, although conventional data communications were centered on Internet communication, cloud services have been widespread, and low-latency applications have been requested in recent years. To respond to such requests, cases have emerged in which an application server is installed in a network of a telecommunication carrier and is provided, together with a telecommunication circuit, as a service (for example, see Non-Patent Literatures 2, 3). Such cases require that use of the application or reception of the service should be restricted to a network, or connection should be made to a specific network in order to enhance quality of experience of the application.
However, Patent Literature 1 and Non-Patent Literatures 1, 2 are schemes for optimizing a communication path from a higher-level network to the Internet, and do not take into consideration the above-described (1) application that can be used only in coverage of the specific network, and (2) application of which quality of experience is enhanced in coverage of the specific network. Accordingly, Patent Literature 1 and Non-Patent Literatures 1, 2 have a problem that connection is not always made to an access path desired by a user who intends to use any one of the above-described applications.
Accordingly, to solve the problems, an object of the present invention is to provide an optimization engine, an optimization method, and a program that can improve accuracy in selection of a network suitable for an application, and can enhance quality of experience, without making major alterations to a communication system.
To achieve the object, an optimization engine according to the present invention includes an objective function of an item desired to be improved, and is configured to collect parameters from access networks and terminals, and to find a combination of connection destinations that maximizes or minimizes the objective function, taking into consideration a fact that a communication-destination server is installed in a specific access network.
Specifically, an optimization engine according to the present invention is an optimization engine in a communication system, the communication system having a configuration in which each of a plurality of terminals connects to a higher-level network via any one of a plurality of access networks,
the optimization engine including:
An optimization method according to the present invention is an optimization method for a communication system,
the communication system having a configuration in which each of a plurality of terminals connects to a higher-level network via any one of a plurality of access networks,
the optimization method including:
In the present optimization engine and the method for the optimization engine, a combination of connection destinations is selected from among the plurality of access networks, based on the objective function using a plurality of the communication quality parameters and a plurality of the network features as variables. By appropriately configuring the objective function, it is possible to control bandwidth utilization rates, costs for use of circuits, and the like. Connection destinations of the user terminals can be derived according to the arbitrarily configured objective function, by using values that can be acquired from network devices and the user terminals, or values that can be derived from such values.
In the present optimization engine and the method for the optimization engine, when the communication quality for use in the objective function is estimated, the communication quality is estimated by using a network simulator, or based on settings of a network device. At the time, simulative settings are made on the network device such that the calculated value varies between when access is gained to a specific server via an access network to which the specific server is connected and when access is gained to the server via the other access networks.
Accordingly, the present invention can provide the optimization engine and the optimization method that can improve accuracy in selection of a network suitable for an application, and can enhance quality of experience, without making major alterations to the communication system.
For example, it can be determined that the optimal connection destinations are the connection destination candidates that give a maximum value or a minimum value of the objective function.
The optimization engine according to the present invention further includes a notification unit that outputs a connection instruction to each of the terminals and each of the access networks such that connections between the terminals and the access networks match the optimal connection destinations.
The optimization method according to the present invention further includes outputting a connection instruction to each of the terminals and each of the access networks such that connections between the terminals and the access networks match the optimal connection destinations.
A program according to the present invention is a program for causing a computer to function as the optimization engine. The optimization engine according to the present invention can be implemented by the computer and the program, and the program can be recorded in a recording medium, and can also be provided through a network.
The present invention can provide an optimization engine, an optimization method, and a program that can improve accuracy in selection of a network suitable for an application, and can enhance quality of experience, without making major alterations to a communication system.
Embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments described below are examples of carrying out the present invention, and the present invention is not limited to the embodiments below. Note that constituent elements denoted by the same reference signs in the description and the drawings are assumed to be constituent elements that are mutually identical.
The optimization engine 50 dynamically selects, from among the plurality of NWs 12, a combination of connections that connect the terminals 11 and NWs 12, by calculating an objective function such as a user satisfaction level function that takes a plurality of communication quality parameters and a plurality of network features as variables. Note that “dynamically select” implies periodically calculating the objective function and changing combinations of connections according to a result of the calculation.
The communication quality parameters are parameters related to a total bandwidth, a delay, fluctuations in delay, the number of available TCP sessions, the number of available IP addresses, and other communication quality of a NW.
The network features are values indicating a cost for use of a circuit, user mobility robustness (mobility), presence or absence of encryption, and other network characteristics.
If the communication quality parameters and the network features are values that can be acquired from a network device and a user terminal, or values that can be derived from such values, an NW 12 that each terminal 11 should be connected to is derived according to the arbitrarily configured objective function.
The optimization engine 50 can bring about effects as follows.
The “connection destination selection algorithm” refers to a sequential procedure for selecting a connection destination that is a NW to be selected by each user terminal (repeated execution of a procedure including selection of search candidates, quality estimation, and evaluation of the objective function (search loop), after a procedure for configuring the objective function, which will be described later).
The “connection destination selection algorithm can be easily extended” implies that changes in type and number of accessible NWs or a change in number of terminals can be handled only by mainly extending functionality of the quality estimation unit, without needing to change the above-described sequential procedure or the objective function. The reason why the “connection destination selection algorithm can be easily extended” is because each of functional units of configuring an objective function, selecting search candidates, estimating quality, and evaluating the objective function, which will be described later, has a high degree of independence, and functionality extension is easy. In other words, when the number of accessible NWs increases, the increase can be handled only by changing part of the functionality, without needing to greatly change the objective function or a flowchart.
Note that many of conventional connection destination selection algorithms are either-or schemes that select one of a 3GPP circuit and a wireless LAN circuit as in Non-Patent Literature 1, and major alterations in or renewal of an algorithm is needed in order for the algorithm to be applied to three or more NWs. Moreover, in many of such schemes, characteristics of and a relation between the 3GPP circuit and the wireless LAN circuit are reflected directly in a function of selecting a connection destination (a dedicated design is made that selects one of two options, the 3GPP circuit and the wireless LAN circuit), and to introduce a new NW, a function of selecting a connection destination needs to be reconstructed.
Each terminal 11 has a terminal information notification unit 11a that notifies an application to use and accessible NWs 12 to the optimization engine 50.
Each terminal 11 has a network selection unit 11b that switches NWs 12 to use, according to an instruction from the optimization engine 50.
Each NW 12 has a terminal selection unit 12a that switches terminals 11 to connect to, according to an instruction from the optimization engine 50. Note that any one of the terminal selection unit 12a of each NW 12 and the network selection unit 11b of each terminal 11 may be used, or both may be used at the same time.
Each NW 12 has a network information notification unit 12b that notifies own communication quality information, such as an available bandwidth, to the optimization engine 50.
The optimization engine 50 has an information collection unit 51 that collects information from the information notification unit 11a of each terminal 11 and the network information notification unit 12b of each NW 12.
The optimization engine 50 has a search candidate selection unit 52 that defines a set of combinations of connections between the terminals 11 and NWs 12, and extracts, from the set, a candidate combination of connections used at a time of search.
The optimization engine 50 has a quality estimation unit 53 that simulates or estimates quality by simulating an actual world. The quality estimation unit 53 receives the candidate combination of connections as an input and outputs estimated quality achieved at each terminal 11 when such connections are made.
The optimization engine 50 has an objective function evaluation unit 54 that calculates a value of the objective function, based on communication quality or the like of each terminal 11.
The optimization engine 50 has an evaluation result determination unit 55 that receives a result of the calculation by the objective function evaluation unit 54, and determines whether to perform again or to finish search for a combination of connections.
The optimization engine 50 has an optimal network notification unit 56 that notifies a combination of connections ultimately determined to at least one of each terminal 11 and each NW 12.
In the optimization engine 50,
Then, the optimal network notification unit 56 outputs a connection instruction to at least one of each terminal 11 and each NW 12 such that connections between the terminals 11 and the NWs 12 match the optimal connection destinations.
The numbers of elements of the vector Pn and the vector Cn are equal to the numbers of communication quality parameters and features taken into consideration, respectively. Further, it is assumed that a set of vectors Pn is a set P, and that a set of vectors Cn is a set C.
Note that the vector Cn may include a list of an application that can be implemented within the n-th NW 12.
M terminals 11 are present within the communication system. It is assumed that an array indicating NWs 12 accessible to an m-th terminal 11 is a vector Am, and that a set of vectors Am is a set A. Numbers for the accessible NWs 12 are described in the vector Am, and the number of elements of the vector Am is equal to the number of the accessible NWs 12. Alternatively, the vector Am may be defined by an array with N elements in which an i-th component “Am,i” of the vector Am is represented by a following expression.
Note that the vector Am may include information on an application that the m-th terminal 11 uses (application information).
A combination of NWs 12 to which the M terminals 11 are connected is represented by a vector x, and an m-th element Xm of the vector x indicates the number for an NW 12 to which the m-th terminal 11 is connected (1 ≤ xm ≤ N).
The search candidate selection unit 52 of the optimization engine 50 receives, as input, accessible access networks A that are a set of the vectors Am representing NWs 12 accessible to the individual terminals 11, and generates a set X of connection destination candidates of the individual terminals.
The vector x is a vector in which the number xm for a connection destination NW to which each m-th terminal is connected is arrayed with respect to all terminals. In some cases, the vector x is stated as a “combination of connections”. In contrast, the vector Am is a vector in which the numbers for NWs that are accessible to (are connection candidates of) the m-th terminal are arrayed.
The search candidate selection unit 52 generates the set X containing the connection destination candidates of all terminals, by using the set A of the vectors Am of all terminals. Moreover, for a first time (i = 1) of the search loop, the search candidate selection unit 52 selects one connection candidate from the set X for each terminal and arrays the selected connection candidates to obtain a vector of connection destination candidates x1, which are then inputted into the quality estimation unit 53. For each time of the search loop, the search candidate selection unit 52 changes the connection candidate of at least one terminal to obtain a new vector of connection destination candidates xi. In other words, a combination of connections x is changed for each time of the search loop.
The quality estimation unit 53 receives the connection destination candidates xi from the search candidate selection unit 52, and calculates communication quality yi for the terminals as a whole. The communication quality yi is a vector, and is a function (yi(xi)) of the connection destination candidates xi. An m-th component “Yi,m” of the communication quality yi is communication quality acquired at the m-th terminal in a case of a combination of connections for a time of a search loop i.
It is assumed that the objective function configured in the objective function evaluation unit 54 is “f (yi (xi), C)”. It is assumed that a maximum value or a minimum value of the objective function obtained up until the i-th time of the search loop is “f*”. It is assumed that when “f*” is obtained, the then connection destination candidates are “x*”. The objective function evaluation unit 54 outputs the connection destination candidates x* by calculating a following expression by using the set C of features acquired from the information collection unit 51, the communication quality yi(xi), and the objective function.
or (4)
The network information notification unit 12b of each NW 12 notifies communication quality information (vector Pn) and features (vector Cn) other than the communication quality to the information collection unit 51 of the optimization engine 50. Note that if there is an application that can be implemented within an NW 12, the network information notification unit 12b of the NW 12 may notify a list of such an application. The information collection unit 51 generates a set P and a set C from the notified communication quality information and features.
The information notification unit 11a of each terminal 11 notifies access networks accessible at an arbitrary time point and an application that the terminal 11 is using or will use (vector Am) to the information collection unit 51 of the optimization engine 50 (step S02). The information collection unit 51 generates accessible applications (set A) from the notified applications.
The notification of the information in step S01 and step S02 may be performed in any order, or may be performed at the same time. No restriction is imposed on order of the terminals or order of the networks. The above-described steps do not need to be performed, and may be preconfigured when states of the terminals and the networks are known and no dynamic changes occur.
The search candidate selection unit 52 of the optimization engine 50 generates a set X of combinations of terminal connection destinations by using the set A (step S03).
The search candidate selection unit 52 initializes the number of times i of the solution search loop, the maximum or minimum value f* of values of an objective function, and the then connection destinations x* (initial values are set to zero or a zero vector).
Step S03 and step S04 may be performed in any order, or may be performed at the same time.
The search candidate selection unit 52 of the optimization engine 50 extracts elements xi from the set X of connection destination candidates. The quality estimation unit 53, by using the set P, estimates communication quality yi achieved when the elements xi are used as input (steps SS05 to S08). For a method of extracting the elements xi, a method of extracting elements from X at random, or a method of extracting every element in specific order may be used. A method may also be used in which elements xi are generated in a random manner, and quality estimation is performed only for an element that is confirmed as satisfying “xi ∈ X” (step S06).
For a method of estimating the communication quality yi (step S07), any method may be used. For example, for the method, there is a method of outputting a result of performing simulation with a system in which distributions of actual networks and users are simulated. In addition to throughput, a communication delay and the like can also be estimated by using “ns-3”, “QualNet”, “OpNet Modeler”, and any other network simulators. When it is desired to estimate only throughput, a method of performing estimation in a simplified manner may also be used, such as dividing a total bandwidth of each network by the number of people who connects to the network.
Note that as examples of the estimation method, a scheme will be described in an embodiment 2 in which the communication quality yi is estimated based on an NW simulator, or settings of an NW topology or an NW device.
The objective function evaluation unit 54, by using the preconfigured objective function f(yi, C), calculates values of the objective function from the communication quality yi obtained with respect to the elements xi that are connection destination candidates and the features C other than the communication quality (step S10). For example, when the objective function f(Yi, C) includes QoE (Quality of experience) representing a user satisfaction level, the objective function evaluation unit 54 uses a QoE model determined based on the application used by each terminal, which is acquired in step S02 (step S09) and derives a value of QoE from the communication quality yi and the features C. More specifically, assuming that web browsing is performed as an application, QoE can be estimated from the communication quality yi, by using a QoE model for web browsing, a bandwidth required for web pages, and an average throughput.
For an i-th time of the search loop, when the objective function f(yi, C) is larger than a maximum value f* obtained through previous searches (calculation up until an (i - 1)-th time of the search loop) (“Yes” in step S10), the evaluation result determination unit 55 updates f* to the value of the objective function f(yi, C) for the i-th time of the search loop. Moreover, the evaluation result determination unit 55 performs updating such that the elements xi used when the f* is obtained become x* (step S11).
In a case of the objective function that is a function to be minimized, the evaluation result determination unit 55 updates f* when f(Yi, C) is smaller than a minimum value f* obtained through previous searches (“Yes” in step S10). The evaluation result determination unit 55 performs updating such that the elements xi used when the f* is obtained become x* (step S11).
The solution search loop comes to an end when a search end condition, which is “being performed as many n times as the number of elements in X” or is predetermined, is met (“Yes” in step S12). When the search end condition is not met, the search loop is repeated from step S05 (“No” in step S12).
Specifically, for the search end condition, any of the following may be used.
When the search is finished, the optimal access network notification unit 56 of the optimization engine 50 notifies a connection destination, based on x*, to at least one of the network selection unit 11b of each terminal 11 and the terminal selection unit 12a of each NW 12 (steps S13, S14). The terminals 11 and the NWs 12 having received the notification switch connection destinations in accordance with the notification. After each of the terminals 11 and the NWs 12 switches connection destinations, the terminals 11 and the NWs 12 fall in a state corresponding to x*.
In the present embodiment, a description will be given of the scheme mentioned for step S07 in
The optimization engine 50 in the communication system 302 selects means of access for a user to use, taking into consideration a fact that a communication-destination application server is installed in a specific NW. In other words, in the case of the communication system 302, a terminal 11-3 that uses the application D connects to the NW 12-4 as shown in
However, in a current state, the server for the application D is not connected to the NW 12-4 as shown in
Accordingly, in the present embodiment, a scheme will be described that does not need alterations other than an alteration to the quality estimation unit 53 of the optimization engine 50, and that simplifies simulation settings while predicting quality with high accuracy.
In a case where there is a specific correspondence between the application D and the specific access network (NW 12-4), the quality estimation unit 53, when estimating the communication quality yi, performs processing that causes a difference in the communication quality yi, between when a terminal 11 uses the application D over the specific access network and when the terminal 11 uses the application D over the other access networks.
In other words, when step S07 in
Note that existence of the application D may be preset in the optimization engine 50 by an operator, or may be received as NW information (feature C) by the information collection unit 51.
Merits of the present embodiment are as follows.
Accuracy in selection of an NW suitable for an application and a service can be enhanced, and restraint on lowering of quality of experience and enhancement of quality of experience can be achieved. Moreover, the communication quality estimation method in the embodiment 1 can be utilized as it is without making alterations (only by adding a utility function to the objective function).
A setter of the objective function determines the objective function, taking into consideration a business model, user satisfaction levels, fairness, costs, or the like. Assignment of connection destinations of users can be performed based on various policies, through configuration of the objective function f(y, C).
Examples of the objective function are listed below.
When the objective functions of Maths. P1, P2, P3, and P5 are configured, optimization is performed in step S10 in
Moreover, the user satisfaction level used in Maths. P1 and P2 is assumed to be an indicator that takes into consideration both QoE (Quality of experience) determined by communication quality for each application, and an effect α(C) of an array Cn of features of each access network other than the communication quality. Specifically, the user satisfaction level is defined as follows.
(P9)
When it is desired to make balanced enhancements of a plurality of objective functions f1(y, C), f2(y, C), ..., an objective function f(y, C) synthesized from the plurality of objective functions is configured. When different degrees of importance are placed on objective functions fj(y, C), each fj(y, C) can be weighted individually (j is a natural number). Hereinafter, examples of a method for synthesizing objective functions will be described. Here, a vector w is an array of proportions of weighting.
(5)
(A) Method using a sum for representation
(6)
(B) Method using a product for representation
(7)
(C) Method using a sum or a product for representation after substitution by another function
When the basic objective functions represented by Maths. P1 to P8 are synthesized, the individual objective functions cannot be considered in a balanced manner with the above methods (A) and (B), in some cases. For example, when it is desired to consider an objective function to be maximized and an objective function to be minimized at the same time, synthesis needs to be performed after any one of the functions is transformed such as by inverting values. When there is a difference between ranges of possible values of the individual functions, an effect can be seen, such as an objective function with a wider range of values having more contribution. Accordingly, when it is desired to equally consider a plurality of objective functions, standardization to adjust allowable ranges is required in some cases. A function used for such transformation is configured as “g”, and an objective function f can be represented also by a synthesized function of “g” and “fj”.
For example, the objective function f can be configured as follows.
(8)
Here, when it is desired to transform a function to be minimized into a function to be maximized, a following function may be configured.
(9) When it is desired to transform a function to be maximized into a function to be minimized, transformation may be performed also by using a similar function.
Moreover, as an example of the function g that transforms a range of possible values, a sigmoid function of Math. 10 can also be configured. In such a case, g(fj(Y, C)) ∈ [0, 1], with respect to a value of arbitrary fj(y, C).
(10) where “a” and “f0” are constants.
As another example of the function g, Math. 11 can also be configured. In such a case, g(fj(y, C)) ∈ [0, 1], under a condition that fj(y, C) ≥0.
(11) where “a” and “f0” are constants.
When a plurality of transformations are needed, a plurality of functions gk and gl may be used at the same time. The function g ultimately used in such a case may be defined as follows.
(12) The function g ultimately used may be a synthesized function of three or more functions.
A description will be given of specific examples of the scheme of simulatively reproducing a situation in which use of an application from an external NW is restricted.
1. Case in which an application can be used over the specific NW
Method for simulative reproduction through simple settings
2. Case of an application of which utility is enhanced in the specific NW
Method for simulative reproduction through simple settings
It may be assumed on a simulator that the server for the application D exists on the Internet. An NW topology is set, or settings of a link are changed, such that access from an external NW to the server is made to travel through a communication path where a delay is larger, or to travel through a communication path with a smaller bandwidth.
In other words, since throughput in forwarding of a packet from a terminal connected to an external NW is lowered by delay insertion or bandwidth adjustment, a difference is caused in the estimated communication quality yi.
The above-described optimization engine 50 can also be implemented by a computer and a program, and the program can be recorded on a recording medium, and can also be provided through a network.
The network 135 is a data communication network. The network 135 may be a private network or a public network, and can include any or all of (a) a personal area network covering, for example, a certain room, (b) a local area network covering, for example, a certain building, (c) a campus area network covering, for example, a certain campus, (d) a metropolitan area network covering, for example, a certain metropolitan area, (e) a wide area network covering regions connected across a boundary or boundaries between metropolitan areas, rural areas, or countries, and (f) the Internet. Communication is performed over the network 135 by using an electronic signal or an optical signal. Note that the network 135 corresponds to the NWs 12 and the higher-level network 13.
The computer 105 includes a processor 110 and a memory 115 connected to the processor 110. The computer 105 is illustrated as a stand-alone device in the present description but is not limited thereto, and may rather be connected to another undepicted device in a distributed processing system.
The processor 110 is an electronic device configured by using logic circuitry that responds to a command and executes the command.
The memory 115 is a tangible computer-readable storage medium in which a computer program is encoded. In this respect, the memory 115 stores data and commands, that is, program codes that are readable and executable by the processor 110 in order to control operation of the processor 110. The memory 115 can be implemented by a random access memory (RAM), a hard drive, a read-only memory (ROM), or a combination thereof. One of constituent elements of the memory 115 is a program module 120.
The program module 120 includes commands for controlling the processor 110 such that the processor 110 executes the processes described in the present description. Although it is described that the operations are performed by the computer 105, a method, processes, or lower-order processes in the present description, the operations are actually executed by the processor 110.
In the present description, the term “module” is used to refer to functional operations that can be implemented as a stand-alone constituent element or an integrated configuration including a plurality of lower-order constituent elements. Accordingly, the program module 120 can be implemented as a single module, or a plurality of modules that operate in coordination with each other. Moreover, although it is described that the program module 120 is installed into the memory 115, and is therefore implemented as software in the present description, the program module 120 can be implemented as hardware (for example, an electronic circuit), firmware, software, or a combination thereof.
Although it is illustrated that the program module 120 is already loaded onto the memory 115, the program module 120 may be configured to be located on a storage device 140 so as to be loaded onto the memory 115 later. The storage device 140 is a tangible computer-readable storage medium that stores the program module 120. Examples of the storage device 140 include a compact disk, a magnetic tape, a read-only memory, an optical storage medium, a hard drive or a memory unit including a plurality of parallel hard drives, and a universal serial bus (USB) flash drive. Alternatively, the storage device 140 may be a random access memory, or any other type of electronic storage device that is located in an undepicted remote storage system and is connected to the computer 105 via the network 135.
The system 100 further includes a data source 150A and a data source 150B that are collectively referred to as a data source 150 in the present description and are communicably connected to the network 135. In actuality, the data source 150 can include any number of data sources, that is, one or more data sources. The data source 150 includes unsystematized data, and can include a social medium.
The system 100 further includes a user device 130 that is operated by a user 101 and is connected to the computer 105 via the network 135. For the user device 130, an input device can be cited, such as a key board or a voice recognition subsystem for enabling the user 101 to convey information and selection of a command to the processor 110. The user device 130 further includes an output device such as a display device, a printer, or a voice synthesis device. A cursor control unit such as a mouse, a trackball, or a touch-sensing screen enables the user 101 to operate a cursor on the display device in order to convey further information and selection of a command to the processor 110. Note that the user device 130 corresponds to a terminal 11.
The processor 110 outputs a result 122 of execution of the program module 120 to the user device 130. Alternatively, the processor 110 can bring the output to, for example, a database or a storage device 125 such as a memory, or alternatively, to an undepicted remote device over the network 135.
For example, a program for executing the operations in
The term “include ...” or “... is included” refers to presence of a characteristic, a perfect field, a process, or a constituent element that is stated there, but should be construed as not excluding presence of one or more other characteristics, perfect fields, processes, constituent elements, or a group thereof. The terms “a” and “an” are indefinite articles, and are therefore not to exclude embodiments including a plurality of things stated there.
The present invention is not limited to the above-described embodiments, and can be carried out with various modifications made within a scope that does not depart from the gist of the present invention. In other words, the present invention is not limited to the upper embodiments as they are, and can be embodied by modifying the constituent elements within a scope that does not depart from the gist of the present invention in a stage of implementation.
Moreover, various inventions can be formed by appropriately combining the plurality of constituent elements disclosed in the above-described embodiments. For example, some constituent elements can be eliminated from all of the constituent elements shown in any of the embodiments. Moreover, constituent elements in different embodiments can be appropriately combined.
11 Terminal
11
a Terminal information notification unit
11
b Network selection unit
12 Access network (NW)
12
a Terminal selection unit
12
b Network information notification unit
13 Higher-level network
20 Internet
25 Simulated server
50 Optimization engine
51 Information collection unit
52 Search candidate selection unit
53 Quality estimation unit
54 Objective function evaluation unit
55 Evaluation result determination unit
56 Optimal network notification unit
100 System
101 User
105 Computer
110 Processor
115 Memory
120 Program module
122 Result
125 Storage device
130 User device
135 Network
140 Storage device
150 Data source
301, 302 Communication system
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/002154 | 1/22/2020 | WO |