You are currently viewing a new version of our website. To view the old version click .
Electronics
  • Feature Paper
  • Article
  • Open Access

1 January 2020

Estimation of Web Proxy Response Times in Community Networks Using Matrix Factorization Algorithms

,
,
and
1
ETSI de Telecomunicación, Universidad de Valladolid, Paseo de Belén 15, 47011 Valladolid, Spain
2
Departamento de Arquitectura de Computadores, Universitat Politècnica de Catalunya, 08034 Barcelona, Spain
*
Author to whom correspondence should be addressed.
This article belongs to the Section Networks

Abstract

In community networks, users access the web using a proxy selected from a list, normally without regard to its performance. Knowing which proxies offer good response times for each client would improve the user experience when navigating, but would involve intensive probing that would in turn cause performance degradation of both proxies and the network. This paper explores the feasibility of estimating the response times for each client/proxy pair by probing only a few of the existing pairs and then using matrix factorization. To do so, response times are collected in a community network emulated on a testbed platform, then a small part of these measurements are used to estimate the remaining ones through matrix factorization. Several algorithms are tested; one of them achieves estimation accuracy with low computational cost, which renders its use feasible in real networks.

1. Introduction

Community networks [1] are distributed, decentralized, large scale communication networks, often set up by citizen organizations to provide users with cheap Internet access, in both urban and rural areas. In Europe there are some significant community networks, like Ninux (Italy) [2], Funkfeuer (Austria) [3] or Guifi.net (Spain) [4], with tens of thousands of users.
In these networks, users typically access the Web through proxies contributed by other users of the network; thus they are in different locations and having different computational resources and varying bandwidth in their outbound links (from the high speed connection of a public library to the remaining capacity of an ADSL domestic service contributed by a user [5]). Besides, the actual response time of a proxy to a client’s request depends also on the path (i.e., the series of links) from the client to the proxy, which in a community network can vary wildly [6], as wireless ad hoc links coexist with more stable and faster links contributed by institutions or leased to operators. As it is the end users who must select their preferred proxy, all these factors are generally ignored, and they tend to pick one random proxy, or at most one that is geographically near [7]. This pattern of behavior, however, causes some proxies to tend to be saturated, while others are idle, and the performance perceived by end users degrades.
In the literature, some attempts [7,8] have been made to automatically select the proxy for each client using information from the proxy performance, measured for example by the latency (or ‘time to first byte’ or the response) or response time (time until a requested document is completely retrieved, or ‘time to last byte’). Both metrics take into account many factors that determine the best proxy for the client: The round trip time to arrive, determined by the delays of the links in the path, the performance and load of the node acting as proxy and the quality of its outbound link (the last two issues reflect better in the response time [9]). It should be noted that a client who wants to automatically select a proxy must probe all of them or, in suboptimistic approaches, a subset of them [7]. However, in large networks with many clients and proxies, probing traffic is not neglectable and affects the overall network carrying capacity [8], as well as proxy performance, as they spend a significant time answering probes.
One way to overcome this would be that each client probes a reduced set of proxies, and then shares this information with other clients. In this way, a given client would have a sparse view of the performance associated to client/proxy pairs, but could use this information to estimate the response times that each of the proxies would give to its own requests. Therefore, each client should be able to select the best proxy according to the response times that were either measured or estimated.
For this approach to work, estimations must be accurate. In the literature, works like [10,11,12] have tried matrix factorization algorithms to estimate different quality of service (QoS) measures in communication networks using a similar approach (i.e., the relevant metrics are measured only for a few of the client/server pairs, the rest being estimated from these few measurements). For example, reference [12] estimates both response times and transfer rates offered by web services from sparse probes made by clients and shared among them. To the best of our knowledge, these ideas have not been tested yet to estimate any QoS metric in the context of community networks.
The goal of this paper is thus to evaluate the feasibility of using matrix factorization algorithms to estimate the response times offered by web proxies in community networks. To do so, a community network is recreated using a testbed, and all clients are set to probe all proxies every 10 s for two days. This dataset is then used in our experiments to replicate a situation in which only a small percentage of the client/proxy response times are measured, and the rest estimated. Three different matrix factorization algorithms, of different computational complexity, are evaluated to discuss the feasibility of the approach.
The structure of the paper is as follows. Section 2 discusses some relevant related work concerning the estimation of QoS metrics and in particular web proxy response times. Then, Section 3 presents the matrix factorization algorithms that are tested. In Section 4, the experimental approach followed in this research is detailed, while Section 5 presents and discusses the results before the conclusions close the paper.

3. Matrix Factorization Algorithms to Estimate Unknown Proxy Response Times

Let us consider a set of c clients and p proxies in a community network. If, periodically, each client probed a subset of proxies (i.e., less than p) and shared the collected results with the rest of clients, each client could create a visibility matrix of measurements M R c × p . Each item m i , j in the matrix would be the collected metric value (in our case, the response time) between client c i and proxy p j . This item will be known if client c i has successfully probed proxy p j , or an unknown value otherwise. It can be reasonably assumed that there will be a significant correlation between certain parts of the matrix, as clients that have similar connection conditions will likely experience similar response times from a given proxy (e.g., if clients share most of the path to the proxy). This can be exploited by matrix factorization algorithms by detecting similarities from actual measurements that can be used to estimate the missing values of matrix M. For example, the simple matrix factorization method [27] searches for matrices C R d × c and P R d × p so that matrix M ^ = C T P with rank d minimizes the euclidean distance to the target matrix (M), computed using only known values in the latter. Therefore, each item m i , j with unknown value will be estimated by m ^ i , j . The main steps of this process are illustrated graphically in Figure 1a, which shows how some response time measurements are taken by issuing HTTP probes and waiting for the full response, and Figure 1b, which uses a partial matrix to apply the factorization algorithm in order to obtain a full, estimated matrix for the metric. In the factoring matrices, s k denote the latent factors.
Figure 1. Illustrative representation of the estimation process: (a) Response time measurement for some client/proxy pairs, and (b) estimation of the full matrix using matrix factorization.
This paper evaluates three different algorithms in order to estimate, in a community network, the response times offered by web proxies to clients, from just a subset of actual measurements of client/proxy response times. The evaluated algorithms are the following:
  • PMF (probabilistic matrix factorization) [28] is a widely-employed matrix factorization algorithm that performs well on large, sparse and very imbalanced datasets. This algorithm can be used to estimate the unknown values of the visibility matrix at a given time using only the measures that are present in the matrix at that time (i.e., the metric values collected by clients in the last round of probes). Estimations are thus made without taking into account the past temporal evolution of values in the visibility matrix (i.e., the metric values collected by clients in previous rounds of probes).
  • NTF (non-negative tensor factorization) [26] can leverage the past temporal evolution of values in the visibility matrix to estimate the unknown values at a given time. This algorithm uses three-dimensional tensors (i.e., arrays) to represent the evolution of matrix values over time and follows a tensor factorization model with non-negative constraints to obtain estimations. This approach makes NTF a computationally demanding algorithm.
  • AMF (adaptive matrix factorization) [12] can also make estimations of unknown values of the visibility matrix at a given time taking into account the past temporal evolution of matrix values. This algorithm generates an estimation model for the visibility matrix obtained after the last round of probes based on the model that was generated for the visibility matrix corresponding to the previous round of probes, which is updated using a Box-Cox transformation [29] of the metric values obtained in the last round of probes. In this way, AMF can be seen as an iterative version of matrix factorization algorithms that is less computationally demanding than NTF.
The implementation of AMF used in this paper is taken from [30], while those for NTF and PMF are available in [31].

4. Experimental Design

4.1. Dataset Generation

In order to test the feasibility of matrix factorization for the estimation of response times offered by web proxies, a community network was emulated over the PlanetLab testbed [32]. To do so, several virtual nodes where deployed in Planetlab servers distributed across Europe and the Middle East, 8 of them acting as web clients and 5 others with simple web proxy software [33] that allowed them to act as web proxies. The location of the different nodes is described in Table 2, where it can be seen that there are three (somewhat vague) geographical clusters (around western, northern and eastern Europe) that might cause that a given client perceives better response times from some proxies than others, though of course that can depend more on the quality of links than the distance or number of hops, as it also happens in community networks. It is true that community networks have a larger number of both clients and proxies, and thus the size of this dataset is small in those dimensions, but large in the number of time slices, which would allow to reflect on the benefits of matrix factorization methods that take into account the evolution of past measurements. The dataset is not large, yet is generated in realistic, non-manipulated conditions, and thus we consider it is valid to study the feasibility and potential of matrix factorization to estimate proxy response times.
Table 2. Client and proxy distribution in PlanetLab nodes.
Each client probed all proxies every 10 s during two days. In all cases, all probes requested the same document [34]. Every time the download was completed, the response time was registered (in milliseconds), considering the time elapsed from the moment the client sends the request until the last byte of the response is received. Response time can be considered an adequate performance metric for web proxy selection in community networks since it is strongly correlated to the proxy performance [8]. Moreover, it is able to detect three different types of bottlenecks: Congested network path between the client and the proxy, high load of the web proxy, and saturated Internet access [8].
Table 3 collects the actual number of response time measurements taken by each client from each proxy, which were included in the dataset available at [35]. In all cases it can be observed that not all the 17,280 requests were successful, as it could be expected. Most of the failures are due to communication problems between the client and the proxy (e.g., TCP connection times out or HTTP response is not 200-OK). In some other cases, the proxy had problems in retrieving the requested document from the original server. This type of problem is also present in community networks, so it is fine that they get reflected in the dataset as missing measurements. It should be noted that a failure in taking one measurement does not stop clients to continue probing and registering subsequent time response measurements.
Table 3. Number of measurements of response time actually collected for each client/proxy pair.
Figure 2 shows the distribution of measurements for each client/proxy pair. All values of these boxplots are listed in the Appendix A Clearly, they are not normally distributed in most of the cases. It can also be seen that dispersion is significant. In principle, this suggests that the estimation of response times will not be a trivial task.
Figure 2. Boxplots describing the distribution of response time measurements collected for each client/proxy pair.
This dataset can be seen as a series of 17,280 matrices of 8 × 5 response time values (though some may be missing). The purpose of this research is to show that if, at a give time slice only a subset of the matrix values were measured, the others could be estimated. The dataset could also be seen as a set of 40 time series (one for each client-proxy pair) of 17,280 values each (some may miss). While the aim of this research is not employing time series to do forecasting, we performed some analysis of these series to better understand the underlying phenomena. Dickey–Fuller tests confirmed all time series are stationary, and a seasonal decomposition found no seasonal component in them.

4.2. Baseline Algorithm and Estimation Accuracy Metric

The evaluated matrix factorization algorithms should be compared to a simple algorithm with negligible computational cost, in order to assess the potential benefit of introducing them. In this paper, we propose that each client c i that wants to estimate the response time offered by proxy p j , i.e., to have a value for m ^ i , j , will simply average all the known measurements taken by other clients of the same proxy p j . This algorithm is simple, it makes sense as some of the measurements taken by other clients will be very good estimators, yet it ignores the information that not all other clients will be equally similar to client c i . Therefore, if matrix factorization algorithms exploit well the existing information, it is expected that they will achieve superior accuracy than the baseline.
Accuracy will be measured using the mean average error (MAE) between estimations and actual values. This metric is commonly used in the literature (e.g., [10,11]) to compare estimation algorithms in problems similar to the one dealt with in this paper.

4.3. Experiments Carried Out

In this paper, we want to explore how the number of known values in the visibility matrix affects the estimation. As our dataset is not generated from a very large network, we have carried out three sets of experiments. In the first one, each client probes every 10 s two randomly chosen proxies out of the five existing ones. It should be noted that the same client may probe different proxies in the next probing round, 10 s later. In the second and third sets of experiments, clients probe three and four (out of five) proxies, respectively. This design allows us to test estimations using visibility matrix with 40%, 60% and 80% of known values (densities), while the rest of the items are estimated and compared to the actual values to compute the accuracy.
Besides, to eliminate the variance introduced by the random selection of the proxies that each client should probe, experiments have been repeated five times for each density. Results reported will show the average and standard deviation of MAE across these five experiments. If the latter is low it will allow us to conclude that the selection of which particular proxies to probe at each time slice has no significant impact.
Finally, it should be noted that each of the evaluated algorithms has some parameters that control their behavior. As this study focuses on exploring the feasibility of the approach, only a limited heuristic optimization of them was carried out. The values for these parameters were: For AMF, the dimensionality of latent factors was 10, the learning rate was 0.8, the regularization factor was 0.0003, the maximum number of iterations was 50, convergence rate was 0.006 and the weight of exponential moving average was 0.3; for NTF, the dimensionality of latent factors was 10, the regularization factor was 40 and the maximum number of iterations was 300; finally, for PMF, the dimensionality of latent factors was 10, the learning rate was 0.8, the regularization factor was 0, the initial learning rate was 0.01 and the maximum number of iterations was 600.

5. Results

Table 4 shows the results obtained after applying the methods described in Section 3 and Section 4.2 on the dataset described in Section 4.1. For each method and density, the average and standard deviation are shown, with low standard deviations showing no significant impact of the particular choice of proxies to probe at each time slice. It can be seen that AMF performs best, with a small error and low variability, which shows the potential of matrix factorization algorithms to estimate the response times of unknown proxies from a given client using some available measurements of other client/proxy pairs that have been shared by other clients. The fact that this method performs a pre- and post-transformation of the data to accommodate data coming from a largely asymmetric distribution to methods better suited to normally distributed sources is probably the main reason why AMF beats the competitors. Furthermore, the result is noticeably better than the baseline, justifying the larger computational cost (it should be noted that the cost of probing and distributing measurements among neighbors is the same for any of the evaluated methods, including the baseline).
Table 4. Average and standard deviation of the mean average error (MAE) for the baseline algorithm as well as probabilistic matrix factorization (PMF), non-negative tensor factorization (NTF) and adaptive matrix factorization (AMF), with different densities of sampling of the dataset. Values are in milliseconds.
It is also worth noting how the results of PMF are not very good. This is probably due to the fact that discovering latent factors of similarity between clients and between proxies with such a small number of them is better performed when considering past data and its evolution over time, as both AMF and NTF do.
Table 4 also allows to observe how increasing proxy sampling density slightly improves the performance of all the methods. With a larger number of client/proxy pairs that would allow to evaluate density starting from small values (around 5%), it is expected that the first increments would have a clearer impact on the estimation results [12]. Figure 3 shows a small interval of the estimations made at a client of the response time that would be obtained using a given proxy, illustrating AMF makes very accurate estimations and detects well the most relevant changes in response time.
Figure 3. Illustrative interval of estimation of response time of proxy 5 from client 6, using the matrix factorization and baseline algorithms, with 60% density.
In order to better understand the results, Table 5 and Table 6 detail the performance of AMF and the baseline algorithm for each client/proxy pair, for a 40% density (each time a client has to probe the proxies, it measures the response time of two of them out of the five, shares the measured results and estimates the response time of the remaining three). The observations made here are also valid for 60% and 80% densities. First of all, it can be observed that in all cases AMF is better than the baseline, justifying its choice. Searching more in detail, it can be seen from Figure 2 that clients 1–3 and 8 obtain more stable measurements from their probes. Besides, the measured response times have low values for proxies 1, 3 and 4. Observing the results of both methods, it can be seen that AMF makes very accurate estimations for these client/proxy pairs, while the baseline makes worse estimations. This is due to the fact that AMF is learning the relative importance of the information shared by neighbor clients, taking into account only those which are similar to the one making the estimation.
Table 5. Average MAE obtained by AMF for each client/proxy pair, with a 40% density. Values are in milliseconds.
Table 6. Average MAE obtained by the baseline algorithm for each client/proxy pair, with a 40% density. Values are in milliseconds.
Interestingly, a weak point of matrix factorization algorithms is the estimation of client/proxy pairs with response times in a range that hardly overlaps with the rest of the measurements. Observe in Figure 2 how proxy 2 offers client 7 response times much higher than it does to other clients, or how client 8 receives from proxy 1 extremely faster responses than other clients. As a consequence, AMF cannot estimate these pairs so accurately, yielding higher MAEs. In a similar fashion, client 4 estimations are accurate yet worse than those achieved for other clients (with both AMF and the baseline). This is because for proxies 1 and 3–5 the response times are higher than what all others clients observe, while in the case of proxy 2 the measurements are far more variable and noisy. It should be noted that this situation can always be present, but it would be less likely if the number of proxies and clients was higher.
Finally, observing the overall behavior for proxy 2 can also lead to some interesting reflections. This proxy has the highest range of response times, as seen in Figure 2. This is problematic if at a given polling time the various clients measure quite different times between them, which hinders the algorithm from learning the structure of the similarities between clients. This is the reason why AMF has here results which are closer to the baseline, with accuracy being in any case more variable for both methods. Again, with more clients and proxies, it would be more likely to detect some similarities between clients even for the most erratic proxies, thus improving the predictions.

6. Conclusions

In community networks, access to the web is normally achieved through proxies contributed by other members of the community. Workload and link quality affect the response times that these proxies may offer, and thus their selection is very relevant to the final perception of users. While each client could periodically probe all proxies to select the best one, this paper has proposed an approach in which each client probes only a (random) fraction of the available proxies, shares the measurements with other clients and builds an incomplete matrix of response times that can be used for the estimation of the remaining values.
With this aim, we have evaluated several matrix factorization algorithms, which have been successfully used in other domains. These algorithms have been compared to a simple baseline, which averages the response times offered by a target proxy to other clients, without regard to potential similarities between clients. The results obtained confirm the feasibility of the approach, as the AMF algorithm clearly outperforms the baseline, justifying its computational cost, which is nevertheless low as this algorithm is incremental and does not require to build a new model from scratch every time a new measurement is taken. The analysis of the results also points out how this type of algorithm is stronger when there is a structure (the latent factor) that reflects the similarities between clients concerning the response times they measure from the different proxies, but can perform worse when estimating client/proxy pairs that are very different from the rest. In the discussion of these findings, we mentioned that a larger dataset would allow to draw more solid conclusions on sampling density and achieve more solid generalization. Therefore, work in the near future will involve the generation of a larger dataset, with many more clients and proxies, to validate the results, and the artificial manipulation of behavior of some proxies to check if service degradation can be correctly detected by all clients. Future work also includes the evaluation of different algorithms (within the context of load balancing, reference [36] reviews some popular ones) that may be employed by each client to decide the web proxy it uses at a given time, based on the visibility matrix obtained with matrix factorization algorithms.

Author Contributions

Conceptualization, M.L.B.-L., E.G.-S., R.M.-P.; Investigation, D.B.-Q.; Formal analysis, D.B.-Q., M.L.B.-L., E.G.-S.; Supervision, M.L.B.-L., E.G.-S.; Writing—original draft preparation, E.G.-S., M.L.B.-L., R.M.-P. All authors have read and agreed to the published version of the manuscript.

Funding

This research was partially funded by European Regional Development Fund and the Spanish State Research Agency of the Spanish Ministry of Science, Innovation and Universities under project grants TIN2017-85179-C3-2-R and TIN2016-77836-C2-2-R and by the Catalan government under contract AGAUR SGR 990.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Appendix A

Boxplots are a standardized way of displaying the distribution of data based on a five number summary: Minimum, first quartile ( Q 1 ), median ( Q 2 ), third quartile ( Q 3 ) and maximum. maximum is defined as Q 3 + 1.5 I Q R and minimum as Q 1 1.5 I Q R where the Interquartile Range ( I Q R ) is the range from Q 1 to Q 3 .
Table A1. Numerical values of boxplots depicted in Figure 2. For each cell from top to bottom: Maximum, Q 3 , Q 2 , Q 1 and minimum. Values are in milliseconds.
Table A1. Numerical values of boxplots depicted in Figure 2. For each cell from top to bottom: Maximum, Q 3 , Q 2 , Q 1 and minimum. Values are in milliseconds.
Proxy 1Proxy 2Proxy 3Proxy 4Proxy 5
Client 12521103365412955
230974254342758
216967230320656
215888180295626
208845154272560
Client 25601211378359755
3791071302326667
2701061301316639
258977251304608
218930226293579
Client 35701204381391767
3521071296303670
2401062292269640
205982239244605
203938211215573
Client 41205188211628811087
8831157797749882
780848664675842
668673553661745
561438433617677
Client 55141223659488672
319977455354578
191970446305555
189813319264515
185731251220484
Client 66521469823781686
3821051534510591
261979452388568
202772341329527
117633245239496
Client 7116115751151814696
7811445813616622
7351377788525602
5271358587484572
4131315475418548
Client 881846484438679
66825370353603
59816343325584
56811294296552
51804256268528

References

  1. Braem, B.; Blondia, C.; Barz, C.; Rogge, H.; Freitag, F.; Navarro, L.; Bonicioli, J.; Papathanasiou, S.; Escrich, P.; Baig Viñas, R.; et al. A case for research with and on community networks. ACM SIGCOMM Comput. Commun. Rev. 2013, 43, 68–73. [Google Scholar] [CrossRef]
  2. Maccari, L. An analysis of the Ninux wireless community network. In Proceedings of the 9th IEEE International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob 2013), Lyon, France, 7–9 October 2013; pp. 1–7. [Google Scholar] [CrossRef]
  3. Initiative für Freie Netze. Available online: https://www.funkfeuer.at (accessed on 7 October 2019).
  4. Vega, D.; Baig, R.; Cerdà-Alabern, L.; Medina, E.; Meseguer, R.; Navarro, L. A technological overview of the guifi.net community network. Comput. Netw. 2015, 93, 260–278. [Google Scholar] [CrossRef]
  5. Dimogerontakis, E.; Meseguer, R.; Navarro, L. Internet Access for All: Assessing a Crowdsourced Web Proxy Service in a Community Network. In Proceedings of the 18th Passive and Active Measurement International Conference (PAM), Sydney, Australia, 30–31 March 2017; pp. 72–84. [Google Scholar] [CrossRef]
  6. Maccari, L.; Cigno, R.L. A week in the life of three large Wireless Community Networks. Ad Hoc Netw. 2015, 24, 175–190. [Google Scholar] [CrossRef]
  7. Dimogerontakis, E.; Neto, J.; Meseguer, R.; Navarro, L.; Vega, L. Client-side routing-agnostic gateway selection for heterogeneous Wireless Mesh Networks. In Proceedings of the 14th IFIP/IEEE Symposium on Integrated Network and Service Management (IM 2017), Lisbon, Portugal, 8–12 May 2017. [Google Scholar] [CrossRef]
  8. Batbayar, K.; Dimogerontakis, E.; Meseguer, R.; Navarro, L.; Medina, E.; Santos, R.M. The RIMO gateway selection approach for mesh networks: Towards a global Internet access for all. In Proceedings of the 12th Conference on Ubiquitous Computing and Intelligence (UCAmI 2018), Punta Cana, Dominican Republic, 4–7 December 2018. [Google Scholar] [CrossRef]
  9. Allman, M. On the performance of middleboxes. In Proceedings of the 3rd ACM SIGCOMM Internet Measurement Conference, IMC, Miami Beach, FL, USA, 27–29 October 2003; pp. 307–312. [Google Scholar] [CrossRef]
  10. Lo, W.; Yin, J.; Deng, S.; Li, Y.; Wu, Z. An extended matrix factorization approach for QoS prediction in service selection. In Proceedings of the 9th IEEE International Conference on Services Computing (SCC’12), Honolulu, HI, USA, 24–29 June 2012; pp. 162–169. [Google Scholar] [CrossRef]
  11. Zheng, Z.; Ma, H.; Lyu, M.R.; King, I. Collaborative web service QoS prediction via neighborhood integrated matrix factorization. IEEE Trans. Serv. Comput. 2013, 6, 289–299. [Google Scholar] [CrossRef]
  12. Zhu, J.; He, P.; Zheng, Z.; Lyu, M.R. Online QoS prediction for runtime service adaptation via Adaptive Matrix Factorization. IEEE Trans. Parallel Distrib. Syst. 2017, 28, 2911–2924. [Google Scholar] [CrossRef]
  13. Boushaba, M.; Hafid, A. Best path to best gateway scheme for multichannel multi-interface wireless mesh networks. In Proceedings of the 2011 IEEE Wireless Communications and Networking Conference (WCNC 2011), Cancun, Quintana Roo, Mexico, 28–31 March 2011; pp. 689–694. [Google Scholar] [CrossRef]
  14. Salsano, S.; Patriarca, F.; Presti, F.L.; Ventre, P.L.; Gentile, V.M. Accurate and Efficient Measurements of IP Level Performance to Drive Interface Selection in Heterogeneous Wireless Networks. IEEE Trans. Mob. Comput. 2018, 17, 2223–2235. [Google Scholar] [CrossRef]
  15. Abujoda, A.; Dietrich, D.; Papadimitriou, P.; Sathiaseelan, A. Software-defined wireless mesh networks for internet access sharing. Comput. Netw. 2015, 93, 359–372. [Google Scholar] [CrossRef]
  16. Ko, B.J.; Liu, S.; Zafer, M.; Wong, H.Y.S.; Lee, K.W. Gateway selection in hybrid wireless networks through cooperative probing. In Proceedings of the 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013), Ghent, Belgium, 27–31 May 2013; pp. 352–360. [Google Scholar]
  17. Batbayar, K.; Meseguer, R.; Dimogerontakis, E.; Navarro, L.; Sandre, R. Collaborative informed gateway selection in large-scale and heterogeneous networks. In Proceedings of the 16th IFIP/IEEE Symposium on Integrated Network and Service Management (IM 2019), Arlington, VA, USA, 8–12 April 2019; pp. 337–345. [Google Scholar]
  18. Micholia, P.; Karaliopoulos, M.; Koutsopoulos, I.; Navarro, L.; Viñas, R.B.; Boucas, D.; Michalis, M.; Antoniadis, P. Community Networks and Sustainability: A Survey of Perceptions, Practices, and Proposed Solutions. IEEE Commun. Surv. Tutor. 2018, 20, 3581–3606. [Google Scholar] [CrossRef]
  19. Baig, R.; Roca, R.; Freitag, F.; Navarro, L. guifi.net, a crowdsourced network infrastructure held in common. Comput. Netw. 2015, 90, 150–165. [Google Scholar] [CrossRef]
  20. Nie, L.; Jiang, D.; Guo, L.; Yu, S. Traffic matrix prediction and estimation based on deep learning in large-scale IP backbone networks. J. Netw. Comput. Appl. 2016, 76, 16–22. [Google Scholar] [CrossRef]
  21. Zhang, P.; Wang, L.; Li, W.; Leung, H.; Song, W. A Web Service QoS Forecasting Approach Based on Multivariate Time Series. In Proceedings of the 24th IEEE International Conference on Web Services (ICWS 2017), Honolulu, HI, USA, 25–30 June 2017; pp. 146–153. [Google Scholar] [CrossRef]
  22. Zheng, X.; Xu, L.D.; Chai, S. QoS Recommendation in Cloud Services. IEEE Access 2017, 5, 5171–5177. [Google Scholar] [CrossRef]
  23. Vadivelou, G. Collaborative filtering based web service recommender system using users’ satisfaction on QoS attributes. In Proceedings of the 2016 International Conference on Inventive Computation Technologies (ICICT 2016), Coimbatore, India, 26–27 August 2016; Volume 3, pp. 1–5. [Google Scholar] [CrossRef]
  24. Luo, X.; Liu, J.; Zhang, D.; Chang, X. A large-scale web QoS prediction scheme for the Industrial Internet of Things based on a kernel machine learning algorithm. Comput. Netw. 2016, 101, 81–89. [Google Scholar] [CrossRef]
  25. Chen, L.; Xie, F.; Zheng, Z.; Wu, Y. Predicting Quality of Service via Leveraging Location Information. Complexity 2019, 2019, 4932030. [Google Scholar] [CrossRef]
  26. Zhang, W.; Sun, H.; Liu, X.; Guo, X. Temporal QoS-aware Web Service Recommendation via Non-negative Tensor Factorization. In Proceedings of the 23rd International Conference on World Wide Web (WWW’14), Seoul, Korea, 7–11 April 2014; ACM: New York, NY, USA, 2014; pp. 585–596. [Google Scholar] [CrossRef]
  27. Koren, Y.; Bell, R.; Volinsky, C. Matrix Factorization Techniques for Recommender Systems. Computer 2009, 42, 30–37. [Google Scholar] [CrossRef]
  28. Salakhutdinov, R.; Mnih, A. Probabilistic Matrix Factorization. In Proceedings of the 20th International Conference on Neural Information Processing Systems (NIPS’07), Vancouver, BC, Canada, 3–6 December 2007; pp. 1257–1264. [Google Scholar]
  29. Sakia, R.M. The box-cox transformation technique: A review. J. R. Stat. Soc. Ser. D 1992, 41, 169–178. [Google Scholar] [CrossRef]
  30. AMF: Adaptive Matrix Factorization for Online QoS Prediction. Available online: https://github.com/wsdream/AMF (accessed on 7 October 2019).
  31. Towards Open Datasets and Source Code for Web Service Recommendation. Available online: https://github.com/wsdream/WS-DREAM (accessed on 7 October 2019).
  32. Chun, B.; Culler, D.; Roscoe, T.; Bavier, A.; Peterson, L.; Wawrzoniak, M.; Bowman, M. PlanetLab: An Overlay Testbed for Broad-coverage Services. ACM SIGCOMM Comput. Commun. Rev. 2003, 33, 3–12. [Google Scholar] [CrossRef]
  33. Singh, A. Lightweight HTTP, HTTPS, WebSockets Proxy Server in a Single Python file. Available online: https://github.com/abhinavsingh/proxy.py (accessed on 7 October 2019).
  34. OVH. 1 Mb file. Available online: http://ovh.net/files/1Mb.dat (accessed on 7 October 2019).
  35. Bores-Quijano, D.; Bote-Lorenzo, M.L.; Gómez-Sánchez, E.; Meseguer, R. Proxies’ Response Times Measured by Clients in an Emulated Community Network [Data Set]. Zenodo. Available online: http://dx.doi.org/10.5281/zenodo.3457189 (accessed on 18 December 2019). [CrossRef]
  36. Piórkowski, A.; Kempny, A.; Hajduk, A.; Strzelczyk, J. Load Balancing for Heterogeneous Web Servers. In International Conference on Computer Networks; Springer: Berlin/Heidelberg, Germany, 2010; pp. 189–198. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.