Location-Aware Resource Discovery and QoR-Driven Resource Selection for Hybrid Web Environments
- Identify WoT resources based on their object location: Objects, in mobile Web environments, may have variant or invariant locations. To collect relevant data from these objects, and provide pertinent results, it is important to consider their location to select their exposed resources that are the most appropriate for user demand. However, the huge number of objects that can be connected providing different resources functions, and their location changes in time, make the resource discovery process complex, especially when treating requests that need fast responses. Therefore, discovering resources, while considering their relative object location, in an effective manner and with acceptable delays, is necessary to satisfy user requests.
- Select the appropriate resource for a needed function: Large Web environments can connect numerous candidate resources that provide the same function. With the huge number of candidate resources that may be connected, selecting the most relevant one, while taking into consideration user constraints (whenever they are given), becomes a complicated task for end-users. In this context, it is important to differentiate between the resources having the same function, to select the suitable resource for a function. This is done by considering Quality of Resource (QoR) attributes  (e.g., Availability and Cost). However, with the growing number of candidate resources having various QoR attributes , it is essential to have an automatic selection approach that can facilitate the task for end-users, and accelerate the process. In addition, and to provide compositions solutions that fit more efficiently the user’s demands, it is important to consider the matching of the input and output (I/O) of the related resources in a composition.
- Form several composition alternatives: In hybrid Web environments, where dynamic resources can be connected, the selected dynamic resource(s) for a composition may be unavailable (e.g., disconnected from the environment) during the execution process. To prevent re-executing both the discovery and selection processes to create a new appropriate composition, it becomes essential to provide, during resource selection, i-compositions (i ), i.e., a set of compositions with different implementation alternatives. Such compositions achieve the workflow (which represents the dependencies between different functions to be satisfied by multiple resources) that is necessary to realize user demand by using, each, a different resource set. This gives the possibility to substitute a resource composition, in which some or all resources are no longer available (due to a disconnection from the environment for instance), by other compositions containing available resources. Thus, a selection approach that considers resource dynamicity is necessary. Also, in some cases, some users need optimal compositions having the highest scores, others may require optimistic compositions with acceptable scores but obtain with better delays, and in other cases, users ask for solutions having acceptable scores while considering resource dynamicity (whenever a dynamic resource is unavailable during a composition execution, there is always another composition consisting of available resources that can take over). Therefore, providing compositions solutions that answer different user requirements becomes important.
2. Motivation, Challenges, and Needs
- Discover the suitable resources that collect the required data. To have accurate data for the building manager demand, identifying the resources that are (i) located in his office, or (ii) the nearest to his standing point in his office, is important. For instance, object provides a resource offering the ATC (Air Temperature Collection) function, which is necessary to collect the necessary air temperature data, but it is not located in the office of the building manager. Therefore, the provided resource would be unuseful for the request at instants t and t + n. However, at instant t, there are 5 objects (, , , , and ) satisfying ATC that are located in the building manager office and can answer more efficiently. As for , i.e., Range-KNN type , at instant t, , , and are the most appropriate to use (as they are the nearest to the building manager standing point and within the required 2m range), while at t + n, , , and are more convenient. Nevertheless, the existence of numerous mobile data collection resources, makes their discovery a time-consuming task. Thus, finding suitable resources in a huge Web environment with an acceptable response time is important to answer user requests efficiently.
- Select the necessary resources forming an appropriate composition. With the existence of several candidate resources providing identical required functions for the building manager request, such as ATC, selecting the most interesting one is a tedious task to do, as it requires time and expertise. Therefore, and to facilitate such task, QoR are used to differentiate between the candidate resources and to help in choosing the appropriate ones. For instance, object can be better than the others as it may have: (i) a high capacity of the battery, which denotes a high availability, (ii) a stable connection to the attached Web environment (as it is static), (iii) no cost when executing it, and (iv) a better usage rate comparing to other (as it may have been used several times in other scenarios). Considering the QoR, i.e., Availability, Dynamicity, Cost, and Usage in this work, allows one to select the suitable resources among all other candidates. Since numerous resources providing the same function can be offered by OpenCEMS with different QoR values, an automatic resource selection solution is essential to ease the selection task and make it faster. In addition, and to ensure composition results that are more efficient to user demands, the solution should consider the matching between the I/O parameters of the related resources forming a composition.Moreover, in some cases, the building manager may require:
In addition, and for each of these previous requirements, the building manager may have other particular needs, such as:
- Results provided by the qualified resources among all others. In such case, the resources that are to be selected are those with the highest quality aspects values among others. This is done independently of the response time of the selection process and may be useful in many cases as in when the building manager requires, for instance, to regulate the temperature of his office for a business meeting that will be held the next day.
- Fast but acceptable results. As the building manager may feel very hot where he stands in his office, he requires fast predicted results to adjust the ambient temperature. To do so, it is important to select suitable resources that can answer his request without checking all the others. Despite demanding fast predictions, it is essential to ensure efficient results. This can be done by selecting resources that have acceptable (minimal) quality aspects values.
- Results obtained at any time. In such case, the building manager is required to receive predicted results at any time of demand, even though some selected dynamic resources may not be available anymore (disconnected from OpenCEMS for instance). To do so, it is important to find resources that are always available to satisfy the building manager demand at any instant.
To satisfy different user needs, it is necessary to consider his constraints and adapt resource selection accordingly.
- Results obtained with no cost, which can be obtained by selecting resources having zero cost.
- Results that are effective, which can be acquired by selecting resources having a high rate of availability.
- Results that are efficient, which is done by selecting resources having a high usage rate, i.e., they have been used many times before in other different scenarios. As such, the more a service is called to answer different user demands, the more it proves its efficiency in various scenarios.
- Results that are reliable, which can be obtained by selecting resources that are can be linked properly together by considering their I/O parameters matching.
- Form multiple resource compositions alternatives. Due to their dynamic aspects, some dynamic resources that are selected in a composition cannot be available anymore for execution. For example, at instant t and for , 5 objects (having a variant position) are located in the office of the building manager, and expose dynamic resources offering the ATC function. If we consider that object provides the most suitable resource among all the other objects, as it may have the highest qualify aspects values, for instance, it shall be selected to be in the necessary composition to answer the building manager request. However, at any instant (at t + n for example), can be unavailable (disconnected from OpenCEMS). At this point, the composition will no longer be efficient when executing it after ⩾t + n, as it misses a selected resource providing a required function. The same scenario happens to in which is not available anymore. To prevent re-executing the resource discovery and the resource selection processes, and create another appropriate composition solution formed by available resources, identifying several composition alternatives (i-compositions with i ) during resource selection becomes important.
3. Related Work
3.1. Discovery Approaches
3.2. Selection Approaches
3.2.1. QoS-Based Approaches
3.2.2. I/O-Based Approaches
3.2.3. K-Compositions Approaches
4. Location-Aware Resource Discovery and QoR-driven Resource Selection for i-Compositions
4.1. General Overview
- Optimal, which refers to resource compositions with the highest scores.
- Optimistic, which refers to resource compositions with minimally acceptable scores (see Section 4.4.2), and obtained in satisfactory delays.
- Hybrid, referring to resource compositions with acceptable scores, but in which, at any instant of the Web environment runtime, the existence of a resource composition is ensured, by considering the dynamicity aspect of resources.
- f, is the user requested function, selected from a generated list of functions, F, that can be provided by the resources connected to the Web environment at the current instant. F ∈ FG, where FG refers to the directed acyclic function graph that defines the order dependencies of F.
- P, refers to the parameters set required to execute f, such that P = , where = (key:value), and with: key, denoting the name of the parameter, and value, referring to the user given value of the parameter. We define in P: (i) a location parameter, Location:value, where value denotes the required location (e.g., office), and (ii) a scope parameter, Scope:value, with a value representing a range . Using the location and the scope parameters, the user can define if the processing of his request considers data collected from objects that are: (1) positioned in a given location, or (2) positioned in a specified location and covering a given scope, or (3) located in a scope limited by a circle with a specific radius and whose center is the location of the user requesting device.
- k, refers to the number of objects used to collect data and that is the nearest to user location at request time. k also refers to the number of the necessary resources to be discovered that provide functions other than collecting data. When k = 0, all of the resources providing the necessary functions to fulfill f, as it is defined in FG, are to be discovered.
- C, is the given user constraints according to which, i-compositions are obtained. C = , with:
- = , refers to the set of constraints given to the resources () and to their provided functions (), with = , and = , and where:
- n denotes the number of attributes describing a resource (we use “Dynamicity” and “Availability” in this paper), and m refers to the number of attributes used to describe the resource provided functions (we use “Cost” and “Usage” in this work).
- = [-], where , denotes, respectively, the minimum values and maximum values defined by the user for and .
- i, refers to the user desired compositions number. By default, it is equal to 1 and can be specified only for the resource compositions that are either optimal or optimistic. As for the hybrid resource compositions, their number depends on the dynamicity aspect of the resources (see Section 4.4.2).
- W= , are the weight values given respectively to the score sum of the resources in a composition (based on their QoR attributes) and to their I/O matching, while computing compositions score (see Section 4.4). , and are bounded by [0, 1]. By default, W = .
- d, refers to the value rate degree (expressed in %) of a calculated threshold, T (see Section 4.4.2), which denotes the acceptable minimal score of the optimistic and hybrid i-compositions.
- c, is the Web address of the context containing terms that are linked to existing data models (e.g., ontologies). These terms map the properties of the resources to concepts that are defined in their relevant data models.
- id, refers to the Web address (URI) of the resource .
- loc, denotes the location of the object that exposes the resource (whenever it is the case).
- F =, refers to the set of the functions that are provided by the resource , where: = (), and with:
- ndenotes the name of the function .
- Irefers to the the input(s) of the function .
- Orefers to the the output(s) of the function .
- mdenotes the HTTP verb that is used to invoke the function .
- = , refers to the quality attributes set related to the function , with denoting the attribute name (Cost and Usage in this paper), and ∈ .
- L, the set of links (if they exist) to other resources. can be directly linked to another , however, the linking between and is done using virtual resources, similar to the work in .
- = , the set of quality attributes related to , with is the name of the attribute (Dynamicity and Availability in this work), and ∈.
- Dynamicity, is the quality attribute that denotes whether a resource is established to be available, i.e., a static resource (), or not, i.e., dynamic resource (). Dynamicity = 0, if the resource is static, and Dynamicity = 1, if the resource is dynamic. Users in their request, r, can specify whether they require dynamic and/or static resources while forming the i-compositions. In this context, and for the values that are given to the Dynamicity attribute () in , when is:
- [1-0], only the static resources can be part of the necessary compositions.
- [1-1], both static and dynamic resources can be used to form the necessary compositions.
- [0-1], dynamic resources can only be part of the necessary compositions.
- Availability, refers to the degree (expressed in %) to which a resource is operational or is ready for immediate use. For the resources that are exposed by connected objects (e.g., devices), the Availability attribute refers to their battery capacity.
- Cost, denotes the amount of money that is required to be paid (in a specific currency) to use a resource function. The Cost attribute can be either defined by the provider of the resource (i.e., the person or organization that developed/created the resource) or by the provider of the object exposing the resource (i.e., the one that is connecting the object to the Web environment).
- Usage, refers to a value that increases when a function of a resource is used. By default, the Usage attribute is equal to 0. To prevent the re-initialization of the Usage value every time a dynamic resource, , is disconnected, for instance, we define for each function of a dynamic resource, a Time To Live (TTL) value that denotes the maximum time during which a dynamic resource can be unavailable before decreasing the Usage value by 1.
4.3. Location-Aware Resource Discovery
- F= , refers to the x-axis that holds abscissa values denoting: (i) the indices of the functions provided by the static resources, and (ii) the data collection functions offered by the dynamic resources. Each x value has a “fsignature" that consists of the indices of the functions that are necessary to realize f, as it is defined in FG.
- R= , refers to the y-axis that holds ordinate values denoting the set of all of the static resources and the dynamic resources that provide functions for collecting data. Each y value referring to a static resource, , has a “rsignature" which consists of the indices of the resources that are related to it through the semantic relations “isSimilar" and “isComplementary" . As dynamic resources can be disconnected at different instants from the Web environment, they do not have any defined related resources. Thus, signatures are not specified for dynamic resources.
- L= , refers to the z-axis that holds the applicate values representing the set of the smallest location granularity (zone for example) of the connected objects providing static or dynamic resources used for data collection.
- algoType (string): denotes the algorithm type to be used (i.e., BFS or DFS in this work), that is adapted to traverse RES graph formed by the linked resources following the HATEOAS principle.
- f (string): is the user requested function.
- P (array of [string, string]): is the set of the values of the parameters relative to the location and to the scope specified by the user for data collection objects.
- k (integer): is the maximum number of the discovered resources providing identical functions.
|Algorithm 1: The Discovery Process (DP)|
- IdS (string, integer, array of [string, string]), is used to identify the k number of the resources that provide the data collection functions necessary to realize f, and which are relevant to the location specified by the user, using the indexing schema.
- funResMap (array of [string, array of string]), is used to produce an array of [string, string] that maps each connected resource to its corresponding function.
- getResDesc (string), is used to get the descriptions of the resources, each identified by its own id (i.e., URI), and the set of the related resources, which can be traversed next.
- discover (string, array of string), is used to traverse the RES graph. This is done by starting from the set of the identified resources from the indexing schema and passing by their related resources that are necessary to realize f. Its algorithm is presented in Appendix A.
4.4. QoR-Driven Resource Selection
4.4.1. Formal Resource Graph Model for i-Compositions
- DRES, the set of the discovered static/dynamic resources.
- Rel, the set of relations linking the resources together.
- , the function computing the score of each resource function based on QoR values.
- , the function linking the resources together, and computing their link score based on their I/O similarities.
- , , denote resources that belong, respectively, to and , where f precedes f’ in WM.
- , is an output of , and U is the total number of outputs.
- , is an input of , and V is the total number of inputs.
- Score(RES) = , is the sum of the scores of the involved resources realizing the required functions, with n is the total number of functions in WM.
- Score(Rel) = , , is the sum of I/O similarity scores of each 2 eligible linked resources in RC, where: f precedes f’ in WM, and sim(, ) ∈ [0, 1].
4.4.2. Selection Strategy Adapter for i-Compositions
- Optimal, denotes the resource compositions with the highest score, score(RC).
- Optimistic, denotes resource compositions having minimally acceptable scores, i.e., computed based on a specific threshold, and formed in satisfactory delays.
- Hybrid, refers to resource compositions that have minimal; acceptable scores, and where the dynamicity aspect of resources is considered, to ensure that, at any time, there is always a resource composition consisting of available resources, providing all the required functions for the user request.
- Trusted, designates resource compositions that consist only of static resources having Dynamicity = 0.
- Cost-free, refers to resource compositions composed of resources with no charge of use (i.e., their Cost = 0).
- Efficient, refers to resource compositions that are formed by resources having a high normalized Usage value (i.e., Usage ⩾ 0.75).
- Effective, denotes resource compositions that include resources having a high normalized Availability value (i.e., Availability ⩾ 0.75).
- Qualified, refers to resource compositions that consist of resources, having each, and for a required function, a score() ⩾ [(n × 0.75) + (m × 0.25)], such that n denotes the number of the QoR attributes (that are to be maximized) related to each resource and its provided required functions (except the Dynamicity attribute), and m refers to the QoR attributes (that are to be minimized), e.g., Cost.
- Reliable, denotes resource compositions in which Score(Rel) ⩾ (l × 0.75), where l is the number of dependency links that existed in the necessary functions defined in WM.
- Optimal Trusted: denotes resource compositions consisting only of static resources and having the highest compositions scores.
- Optimal Cost-free: refers to resource compositions that include either static or dynamic resources with Cost = 0, and have the highest compositions scores.
- Optimal Efficient: represents resource compositions that are formed by static or dynamic resources having the maximum Usage attribute value among all DRAG resources, and have the highest compositions scores.
- Optimal Effective: denotes resource compositions consisting of static or dynamic resources having the maximum Availability attribute value among all DRAG resources, and having the highest compositions scores.
- Optimal Qualified: refers to resource compositions that are formed by static or dynamic resources with the maximum Score(RES) among all DRAG resources, and have the highest compositions scores.
- Optimal Reliable: represents resource compositions that include static or dynamic resources having the maximum value of Score(Rel), and have the highest compositions scores.
- Computing the minimum acceptable score of a suitable composition. A resource composition is considered to be acceptable, if it has a score(RC) that is ⩾a specific computed Threshold, T.Whenever resource compositions of optimistic or hybrid types are required without specifying a subtype, T is computed as: T = , with:
If the user requires subtype resource compositions, T is calculated as follows: = , where Q consists of the minimum resources attributes values as defined in Table 1 (except the Dynamicity attribute), and s ∈ [0,1] refers to the minimum value of the I/O matching similarity score between any two related resources in a composition. It is to be noted that s = 0.75 when subtype = reliable, and s = 0.5 for all other compositions specified subtypes.
- n denotes the number of functions presented in WM.
- Avg() refers to the average value of the QoR normalized constraints that are specified in r (except the Dynamicity attribute). In case are not defined by the user, the average of each QoR is computed based on their maximum values among all DRAG resources. In Figure 6, we present the flowchart of the resource selection process along with its relative SSA, used to form the required i-compositions satisfying user request and user request type.
- l, refers to the number of the links (dependencies) relating to the functions in the Workflow Model. In our work, we assume that, at least, and between any two related resources, there is an I/O similarity match equal to 0.5.
- d, denotes the value of the resource composition acceptance degree (expressed in %) that is specified by the user in his request.
- Computing the score of a resource composition that consists of eligible resources. For this matter, SSA uses a generator to retrieve the set of all possible resource compositions without computing their scores. While generating each resource composition, several conditions are applied:
During the analysis of each generated resource composition, if it contains a resource that is already present in arr_notEl, another possible composition will be generated. If it is not the case, both conditions (i) and (ii), mentioned above, are applied. We note that whenever optimistic resource compositions are requested by the user, the generator will stop its process when getting i-compositions having a score respecting T. However, when hybrid resource compositions are required, the process of the generator will end when reaching a resource composition whose score respects T, and which consists of static resources only (always available resources). The retrieved resource compositions from SSA are put in arr_suitRC.
- If a resource in a composition is not eligible (i.e., it does not align with the required user constraints), it will be registered in an array (arr_notEl), and another resource composition will be formed.
- If all of the resources of a composition are eligible, the resource composition score, score(RC), will be computed. When score(RC) ⩾ T, the relevant resource composition is saved in an array containing all of the suitable resource compositions, arr_suitRC, if not, another possible resource composition will be generated.
5. Evaluation and Discussion
5.1. Comparison with Existing QoR Models
- QoS Normalization, indicates if the QoS attributes, that are considered during the service selection process, are normalized.
- Overall Composition Score, indicates if an overall score is calculated and assigned to every possible composition.
- Service Score, indicates if a score is calculated and assigned to every service.
- I/O Matching, indicates whether the Input/Output (I/O) matching of the related services in a service composition is considered during the service selection process.
- Weights, indicates if weights can be assigned for each QoS attribute during the service or composition score computation.
5.2. Resource Discovery Evaluation
5.3. Resource Selection Evaluation
- All static resources in DRAG are eligible (match the required user constraints).
- 50% of the static resources in DRAG are eligible.
- All DRAG resources are dynamic and eligible.
Conflicts of Interest
Appendix A. The Discover(String, Array of String) Function
|Algorithm A1: The Discover(agloType, resToExploreNext) Function|
- Fielding, R.T.; Taylor, R.N. Architectural Styles and the Design of Network-Based Software Architectures; University of California Irvine: Irvine, CA, USA, 2000; Volume 7. [Google Scholar]
- Zeng, D.; Guo, S.; Cheng, Z. The web of things: A survey. JCM 2011, 6, 424–438. [Google Scholar] [CrossRef][Green Version]
- Almeida, F.L. Concept and Dimensions of Web 4.0. Int. J. Comput. Technol. 2017, 16, 7040–7046. [Google Scholar] [CrossRef]
- Alarcon, R.; Saffie, R.; Bravo, N.; Cabello, J. REST web service description for graph-based service discovery. In Proceedings of the International Conference on Web Engineering; Springer: Rotterdam, The Netherlands, 2015; pp. 461–478. [Google Scholar]
- Bennara, M.; Mrissa, M.; Amghar, Y. Linked Service Selection Using the Skyline Algorithm. In Proceedings of the International Conference on Model and Data Engineering; Springer: Almería, Spain, 2016; pp. 88–97. [Google Scholar]
- Wang, L.; Shen, J.; Yong, J. A survey on bio-inspired algorithms for web service composition. In Proceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD 2012), Wuhan, China, 23–25 May 2012; pp. 569–574. [Google Scholar]
- Kaewbanjong, K.; Intakosum, S. Qos attributes of web services: A systematic review and classification. J. Adv. Manag. Sci. 2015, 3, 194–202. [Google Scholar] [CrossRef]
- Bennara, M.; Mrissa, M.; Amghar, Y. Semantic-Enabled and Hypermedia-Driven Linked Service Discovery. In Proceedings of the International Conference on Model and Data Engineering; Springer: Almería, Spain, 2016; pp. 108–117. [Google Scholar]
- Verborgh, R.; Steiner, T.; Van Deursen, D.; De Roo, J.; Van de Walle, R.; Vallés, J.G. Description and Interaction of Restful Services for Automatic Discovery and Execution. 2011 FTRA International workshop on Advanced Future Multimedia Services (AFMS 2011). Future Technology Research Association International (FTRA). 2011. Available online: https://biblio.ugent.be/publication/2003291/file/2003308 (accessed on 22 August 2021).
- Michel, F.; Faron-Zucker, C.; Corby, O.; Gandon, F. Enabling automatic discovery and querying of web APIs at web scale using linked data standards. In Proceedings of the 2019 World Wide Web Conference, San Francisco, CA, USA, 13–17 May 2019; pp. 883–892. [Google Scholar]
- Perera, C.; Zaslavsky, A.; Liu, C.H.; Compton, M.; Christen, P.; Georgakopoulos, D. Sensor search techniques for sensing as a service architecture for the internet of things. IEEE Sens. J. 2013, 14, 406–420. [Google Scholar] [CrossRef][Green Version]
- Zhou, B.; Dastjerdi, A.V.; Calheiros, R.N.; Srirama, S.N.; Buyya, R. A context sensitive offloading scheme for mobile cloud computing service. In Proceedings of the 2015 IEEE 8th International Conference on Cloud Computing, New York, NY, USA, 27 June–2 July 2015; pp. 869–876. [Google Scholar]
- Dahan, F.; Mathkour, H.; Arafah, M. Two-step artificial bee colony algorithm enhancement for QoS-aware Web service selection problem. IEEE Access 2019, 7, 21787–21794. [Google Scholar] [CrossRef]
- Berbner, R.; Spahn, M.; Repp, N.; Heckmann, O.; Steinmetz, R. Heuristics for qos-aware web service composition. In Proceedings of the 2006 IEEE International Conference on Web Services (ICWS’06 2006), Chicago, IL, USA, 18–22 September 2006; pp. 72–82. [Google Scholar]
- Wang, H.; Yu, C.; Wang, L.; Yu, Q. Effective bigdata-space service selection over trust and heterogeneous QoS preferences. IEEE Trans. Serv. Comput. 2015, 11, 644–657. [Google Scholar] [CrossRef]
- Rodriguez-Mier, P.; Pedrinaci, C.; Lama, M.; Mucientes, M. An integrated semantic web service discovery and composition framework. IEEE Trans. Serv. Comput. 2015, 9, 537–550. [Google Scholar] [CrossRef][Green Version]
- Xu, X.; Sheng, Q.Z.; Wang, Z.; Yao, L. Novel artificial bee colony algorithms for QoS-aware service selection. IEEE Trans. Serv. Comput. 2016, 12, 247–261. [Google Scholar]
- Lécué, F.; Léger, A. A formal model for semantic web service composition. In Proceedings of the International Semantic Web Conference; Springer: Athens, GA, USA, 2006; pp. 385–398. [Google Scholar]
- Netedu, A.; Buraga, S.C.; Diac, P.; Ţucăr, L. Ţucăr, L. A Web Service Composition Method Based on OpenAPI Semantic Annotations. In International Conference on e-Business Engineering; Springer: Shanghai, China, 2019; pp. 342–357. [Google Scholar]
- Deng, S.; Huang, L.; Tan, W.; Wu, Z. Top-k Automatic Service Composition: A Parallel Method for Large-Scale Service Sets. IEEE Trans. Autom. Sci. Eng. 2014, 11, 891–905. [Google Scholar] [CrossRef]
- Benouaret, K.; Benslimane, D.; Hadjali, A. Top-k web services compositions: A fuzzy-set-based approach. In Proceedings of the ACM—Symposium on Applied Computing (SAC), Taichung, Taiwan, 21–25 March 2011; pp. 1038–1043. [Google Scholar]
- Li, J.; Yan, Y.; Lemire, D. Full solution indexing for top-k web service composition. IEEE Trans. Serv. Comput. 2016, 11, 521–533. [Google Scholar] [CrossRef][Green Version]
- Lanthaler, M.; Gütl, C. Hydra: A Vocabulary for Hypermedia-Driven Web APIs. LDOW 2013, 996, 35–38. [Google Scholar]
- Perwej, Y.; Haq, K.; Parwej, F.; Mumdouh, M.; Hassan, M. The internet of things (IoT) and its application domains. Int. J. Comput. Appl. 2019, 975, 182. [Google Scholar] [CrossRef]
- Khanna, A.; Kaur, S. Internet of Things (IoT), applications and challenges: A comprehensive review. Wirel. Pers. Commun. 2020, 114, 1687–1762. [Google Scholar] [CrossRef]
- Shao, Z.; Taniar, D.; Adhinugraha, K.M. Range-kNN queries with privacy protection in a mobile environment. Pervasive Mob. Comput. 2015, 24, 30–49. [Google Scholar] [CrossRef]
- Kallab, L.; Chbeir, R.; Mrissa, M. Automatic K-Resources Discovery for Hybrid Web Connected Environments. In Proceedings of the 2019 ICWS, Milan, Italy, 8–13 July 2019; pp. 146–153. [Google Scholar]
- Khan, A.B.; Matskin, M. Agora framework for service discovery and resource allocation. In Proceedings of the ICIW 2010, Barcelona, Spain, 9–15 May 2010; pp. 438–444. [Google Scholar]
- Arabnejad, H.; Barbosa, J.G. A budget constrained scheduling algorithm for workflow applications. J. Grid Comput. 2014, 12, 665–679. [Google Scholar] [CrossRef]
- Fard, H.M.; Prodan, R.; Barrionuevo, J.J.; Fahringer, T. A multi-objective approach for workflow scheduling in heterogeneous environments. In Proceedings of the 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012), Ottawa, ON, Canada, 13–16 May 2012; pp. 300–309. [Google Scholar]
- Deng, S.; Wu, H.; Hu, D.; Zhao, J.L. Service selection for composition with QoS correlations. IEEE Trans. Serv. Comput. 2014, 9, 291–303. [Google Scholar] [CrossRef]
- Barrientos, R.J.; Gómez, J.I.; Tenllado, C.; Matias, M.P.; Marin, M. Range query processing in a multi-GPU environment. In Proceedings of the 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications, Leganes, Spain, 10–13 July 2012; pp. 419–426. [Google Scholar]
- Lee, J.M. Fast k-nearest neighbor searching in static objects. Wirel. Pers. Commun. 2017, 93, 147–160. [Google Scholar] [CrossRef]
- Russell, S.; Norvig, P. Artificial Intelligence: A Modern Approach; Prentice Hall: Upper Saddle River, NJ, USA, 2003; Volume 2. [Google Scholar]
- Murakami, Y.; Lin, D.; Ishida, T. Services Computing for Language Resources; Springer: Saarland, Germany, 2018. [Google Scholar]
- Niwattanakul, S.; Singthongchai, J.; Naenudorn, E.; Wanapu, S. Using of Jaccard coefficient for keywords similarity. In Proceedings of the International Multiconference of Engineers and Computer Scientists, Hong Kong, China, 13–15 March 2013; pp. 380–384. [Google Scholar]
|Resources Dynamicity||Resources Availability||Resources Cost||Resources Usage||Score(Rel)|
|Trusted||0||⩾0.5||⩽0.25||⩾0.5||⩾(l × 0.5)|
|Cost-free||0 or 1||⩾0.5||0||⩾0.5||⩾(l × 0.5)|
|Efficient||0 or 1||⩾0.5||⩽0.25||⩾0.75||⩾(l × 0.5)|
|Effective||0 or 1||⩾0.75||⩽0.25||⩾0.5||⩾(l × 0.5)|
|Qualified||0 or 1||⩾0.75||⩽0.25||⩾0.75||⩾(l × 0.5)|
|Reliable||0 or 1||⩾0.5||⩽0.25||⩾0.5||⩾(l × 0.75)|
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Kallab, L.; Chbeir, R.; Mrissa, M. Location-Aware Resource Discovery and QoR-Driven Resource Selection for Hybrid Web Environments. Sensors 2021, 21, 6835. https://doi.org/10.3390/s21206835
Kallab L, Chbeir R, Mrissa M. Location-Aware Resource Discovery and QoR-Driven Resource Selection for Hybrid Web Environments. Sensors. 2021; 21(20):6835. https://doi.org/10.3390/s21206835Chicago/Turabian Style
Kallab, Lara, Richard Chbeir, and Michael Mrissa. 2021. "Location-Aware Resource Discovery and QoR-Driven Resource Selection for Hybrid Web Environments" Sensors 21, no. 20: 6835. https://doi.org/10.3390/s21206835