Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1598-7248 (Print)
ISSN : 2234-6473 (Online)
Industrial Engineering & Management Systems Vol.18 No.2 pp.274-282
DOI : https://doi.org/10.7232/iems.2019.18.2.274

An Approach for Managing the Objects in the Internet of Things Using Swarm Intelligence

Davood Vahdat*, Fereidoon Shams, Eslam Nazemi
Department of Science and Computer Engineering, Shahid Beheshti University, Tehran, Iran
Corresponding Author, E-mail: dvahdat@gmail.com
April 15, 2018 June 10, 2018 November 1, 2018

ABSTRACT


Nowadays the Internet of Things as a new generation of internet and a network that connects everything is highly regarded. There are a large number of devices on the IoT, as well as a high level of heterogeneity that exists between these devices poses challenges, more than ever. One of the most important issues in the IoT in the area of data management is cost reduction of the search. In this regard, clustering objects are considered as a potential solution where in that process, objects with the same action or data content stay on a cluster. In this study, an approach is offered for clustering objects in the IoT environment, with inspiration from the behavior of ants which is called swarm intelligence. Due to the high scalability and distributed nature of ant clustering algorithm (for instance its ability to selforganize), the proposed approach is adapted to the problem. In regards to runtime and accuracy, the results show that the proposed approach functions well, and also it has a high scalability against increasing of the issue’s magnitudes.



초록


    1. INTRODUCTION

    The concept of the Internet of Things (IoT) is a pervasive presence around us of a variety of “things” or “objects (such as radio frequency identification tags (RFID), sensors, actuators, mobile phones, etc.), which through an integrated network and a unique addressing scheme are able to interact with each other and cooperate with their neighboring in order to reach common goals (Giusto et al., 2010). In this regard, progress in the field of data collection sensors (such as embedded and pervasive devices) as well as RFID technology creates a very large number of intelligent tools connected to the Internet and continuous transmission of its data. The enormous size of the data brings up challenges to data collection and data processing (Bhadani and Jothimani, 2016). Such data must be processed within a short time, and sometimes its processing is performed at a high level of distribution. Even if the data is stored offline, data volume is partly high and distributed, requiring a powerful tool for data analysis.

    One of the critical issues in the IoT is search and discovering desired data among very large volumes of data. So, a slight improvement in query processing methods will have a significant impact on the system efficiency (Dobson et al., 2006). It should be noted that due to a very large scale of such system, scalability becomes very important. Also taking into account the high level of dynamism in the network (smart objects can be moved and make ad-hoc with nearby objects that follow unanticipated patterns), it is expected the attempt for putting selfmanagement and automatic capabilities become a major factor in the development of solutions (Dobson et al., 2006;Elmenreich et al., 2009). Therefore, the methods developed in this field should be in a way compatible with the distributed nature of the IoT and have a high scalability.

    In this paper, inspired by swarm intelligence methods, a new approach is provided for data management in the IoT. The proposed approach has a very high scalability and is compatible with dynamic nature of the IoT. Using this approach, the required data can be accessed faster and with higher quality; therefore, a suitable infrastructure is provided in order to explore and search data and integrate information.

    2. RELATED WORK

    Conceptually, the IoT is about the existences which act as data providers or data consumers related to the physical world rather than point to point communications’ focus on data and information. This could lead to the adoption of content-centric network principles and architectures (recently suggested) (Ye et al., 2002). On the other hand, from the perspective of system level, the IoT can be considered as a network system with high mobility and distribution. The system consists of a large number of smart objects producing and consuming information. The ability to interact with the physical aspect can be achieved through the presence of the devices that are able to sense the physical phenomena and translate them into a stream of information (provide information in current background and/or environment) and motivate operations affecting the physical aspect (through appropriate incentives). Due to the very large scale of such a system, scalability becomes a very vital issue (Yang and Xu, 2016). Also taking into account the high level of dynamism in the network (smart objects can be moved and make adhoc with nearby objects that follow unanticipated patterns), it is expected that the attempt for putting selfmanagement and automatic capabilities becomes a major factor in the development of solutions (Dobson et al., 2006;Elmenreich el al., 2009).

    In Elmenreich et al. (2009), the semantic interoperability and data management are introduced as key features needed in the system for the IoT. Internet of Things is most relevant to exchange and analysis of vast quantities of data. In order to convert this vast amount of data to useful information and ensure interoperability among different applications, it is necessary to provide the data with standard and appropriate formats, models, and semantic description of their content (metadata), by the use of well-defined languages and formats (Nouira et al., 2017). Using this, Internet applications can support automated reasoning which is a key feature to enable the successful adoption of such technologies on a massive scale.

    It is useful to classify data of IoT into a number of categories. Some data are discrete and some continuous, some are automatically generated, and some are an input by humans. We can consider the data into the following categorized areas: RFID, address/unique identifiers, descriptive data, positional and environmental data, sensor data, historical data, physics models, and command data (Cooper and James, 2009).

    Challenges related to data management in IoT have been identified as follow (Cooper and James, 2009).

    2.1 Size, Scale, and Indexing

    The size and scale of the data in the IoT are vast. Data need to be managed via responsible local ownership. In this point of view, data are divided in two categories: private and public. In the global space, there will be a need for a central authority for managing addresses and identifiers. Finding a particular item in a world where all physical objects have an IP address will not be easy unless suitable indexing methods are devised.

    2.2 Query Languages

    Current popular query languages in database systems (such as SQL) rely on structured data. Meanwhile despite the vast quantities of data in the IoT, it would be unrealistic to expect any sort of uniform structure. In this regard, extensible Markup Language (XML) offers a means of representing less structured as well as structured data, together with some level of self-description. It is a wellaccepted technology that supports interoperability at a technical level. XQuery is used to run the query in XML. In fact, XQuery, a language for querying XML, can combine documents, web pages, and links to relational databases.

    2.3 Process Modeling and Transactions

    It is likely that most processes will be developed and supplied as services on the IoT. Service Oriented Architecture (SOA) is becoming an important means of supporting interoperability in web-based systems.

    On the other hand, the question of transaction processing in the IoT arises. In the current databases, the concept of transaction has properties known as ACID (Atomicity, Consistency, Isolation, Durability) that can control the concurrent processing via maintaining these properties through time stamping, locking, and a twophase commit. It has been recognized that the ACID properties do not fit web transaction processing well. This is because the individual web services are essentially autonomous and must independently preserve consistency. This requirement might conflict with a consistency requirement of a user’s global transaction. As the underlying systems are independent, it is not feasible to impose a two-phase commit procedure. Therefore, new methods and models have been produced for web-based transaction handling. These include the use of compensating transactions and transaction systems that relax various ACID properties.

    The IoT makes ACID properties and a two-phase commit difficult. Alternatively, the methods developed in order to control the transaction for web-based systems could be applied in the IoT.

    2.4 Heterogeneity and Integration

    The IoT consists of billions of independent nodes, which have their own systems for holding the data. Interoperability will not be achieved without a standard approach at some level of abstraction. The areas of integration can be considered useful to achieve interoperability across heterogeneous systems.

    XML has played its part in offering a solution to some degree. It has offered a technical, practical, and efficient means to pass data from one system to another. XML only solves the structured problems; however, ontology and the semantic web can solve the semantic problems. In the future, agents will play an important role in using semantic information to support the improved use of the IoT (Rellermeyer et al., 2008). Consider the lack of a scalable model to develop and deploy applications atop a heterogeneous collection of ubiquitous devices as one of the biggest challenges in making the IoT a reality. This study proposes a new model based on an extension of the ideas for modular software development. In this model, the SOA will play an important role in providing an integrated fabric for heterogeneous applications of the IoT.

    2.5 Archiving

    Nowadays, there has been much interest in archiving the Internet. As the Internet is so vast, archiving is often done automatically with crawlers, which take copies of web pages at defined intervals. Database archiving is a technique that involves taking copies of entire databases at specified intervals and keeping them in a secure store. In a web, context archived databases can be converted to XML, and basic querying can be permitted. Processes can also be archived. This is achieved using the capture software that takes copies of each request and response entering a service (a web service, a database, or any other software system). Various topics arise when we consider the nature of some of the data and the magnitude of the IoT. The solution is likely to be local management of archived data with appropriate indexing and discovery facilities. In the archived data, the main operation will be retrieval; update will only be necessary in exceptional cases. Interesting areas will revolve around efficient storage, querying, and performance. Work in data warehousing and data mining may offer some directions in this fields.

    A closer look at the issues in the data management in IoT raises the necessity of the use of distributed and scalable methods. Thus, swarm intelligence methods in dealing with these issues are of the best potential solutions. Using swarm intelligence methods (e.g. cluster of ants), this study offers a new approach to clustering of objects based on their content. This helps to speed up access to information as well as search and discovery of required data (as a major challenge in the data management). It should be noted that this research would be suitable for providing optimal approaches in other areas of data management such as integrated data management, data integration, data exchange, and optimization questions.

    3. THE PROPOSED APPROACH

    The main reason for the power of the IoT is the ability to deliver data from diverse distributed sources to other machines, intelligent entities, and individuals for a wide range of services (Abu-Elkheir et al., 2013). One of the most important issues in the IoT is query processing in such systems. The objects can be clustered with respect to the similarity between their data in order to reduce the cost of the query processing. The clustering of objects submits query to the proper cluster for response and run by the objects of the cluster. Given the nature of the problem of clustering and keep it in the category of NPComplete, problems can use some methods based on the behavior of ants for clustering. The distributed nature and scalability of clustering methods based on the behavior of ants (Ku-Mahamud, 2013) make them a good use for clustering of objects in the IoT.

    In the following, semantic overlay network is reviewed as an approach to reduce the cost of query processing. Then, in order to offer a semantic overlay network for the IoT, a clustering object algorithm is provided in which the methods based on the behavior of ants are used. Because of the similarity between the clustering objects algorithm and clustering documents algorithm, clustering document algorithm was applied as the basic of the study, and then was matched with the issue of clustering objects in the IoT, making changes and improvements in it, and finally proposing the clustering objects algorithm.

    Semantic overlay network, for the first time, in (Crespo and Garcia-Molina, 2004) was raised in the peer to peer systems in order to reduce the query cost. In a peer-to-peer (P2P) system, nodes typically connect to a small set of random nodes (their neighbors), and queries are propagated along these connections. Such query flooding tends to be very expensive. In (Crespo and Garcia-Molina, 2004) they have proposed that node connections are influenced by content. Thus, semantically related nodes form a Semantic Overlay Network. In other words, with Semantic Overlay Networks, nodes with semantically similar content are “clustered” together. The queries route the appropriate Semantic Overlay Network. Doing this, increase the probability of adaptation the files that are found quickly and reduce the overload to do the search in irrelevant content nodes. Therefore, Semantic Overlay Network is an organized flexible network that increases query efficiency and maintains a high degree of nodes’ autonomy.

    In order to object clustering and create a Semantic Overlay Networks, an ants’ behavior based algorithm was modeled. The proposed algorithm shows that the objects are randomly distributed in the grid so that every block is occupied by at most one object. Then, ants (agents) are distributed randomly on the grid and then move. Ants on their way calculate pick/drop function for every object they can see. After picking an object by ants, the selected object is compared with the objects in the ant’s memory in order to choose the next move (several objects recently carried by the ant). This leads the ant to move towards things that are most similar to the lifted object. If the current object does not have any similarities with none of the objects recently carried (by ants), ants do the next move randomly.

    3.1 Random Distribution of Objects in Screen

    After randomly assigning attributes to objects and initialization parameters, objects are randomly distributed in the grid so that each block contains at most one object.

    3.2 Random Distribution of Ants in the Screen

    After the distribution of objects around the screen, ants are dispensed in the space and begin their motion. Each ant, on its way, calculates the probability of pick function for things he sees, and if possible, the object is lifted by the ants; therefore, the ant gets pregnant. Then pregnant ants randomly move on the screen and for emptying block in the path, it calculates the possibility of the drop function. If there is a possibility of releasing an object in the empty block, the ant places the object in and moves for picking an object again. The probability of the left and pick up functions are calculated based on the object similarity and other objects in the vicinity (S × S). To avoid waste of time for searching objects by ants, after putting an object by an ant, it searches for another object immediately.

    3.3 Assess the Similarity of the Selected Object by Ants

    In order to assess the similarity of objects, the following formula is used by the ants:

    f ( o i ) = max ( 0 , 1 | s | o j o j ϵ N e i g h S × S 1 d o i , o j α μ )
    (1)

    where oj is the object in the vicinity (S×S) of oi. S shows the ant’s visibility, and d(oi, oj) describes the difference between the current object and the object of its neighboring states.

    To obtain the similarity between two objects, schema matching technique can be used (Madhavan et al., 2001;Dhamankar et al., 2004;Dhamankar el al., 2004;Do and Rahm, 2002). Schema matching finds semantic correspondence between two schema elements. Schema matching can be performed based on the schema information and/or data instance/content based. For calculating the difference between two objects, the non-corresponding elements in the data structure of both objects are considered. Accordingly, an evaluation function of the difference level is provided and applied in the algorithm:

    d o i , o j = k ϵ A t t i w i k δ j k + l ϵ C o n s i w i l δ j l k ϵ A t t i w i k + l ϵ C o n s i w j l
    (2)

    In the above equation, Atti and Consi are set of attributes and restrictions in the schema of oi, respectively. wik illustrates the weight (importance) of k in the oi. The importance of the traits can be based on the frequency of questions issued on or set by the user, directly. δjk indicates the lack of k in the schema of oj. Thus, if k exists in the schema of oj, the value of δjk is zero; otherwise, it is one. In fact, d(oi, oj) are a proportion of all elements in the schema of oi that do not have any corresponding elements in the schema of oj.

    3.4 Pick-Up / Drop Objects Operation

    After evaluating the similarity of objects, the pickup/ drop probability function is calculated based on the following equation (Deneubourg et al., 1991).

    p pick ( i ) = ( k p k p + f ( i ) ) 2
    (3)

    p drop ( i ) = ( f ( i ) k d + f ( i ) ) 2
    (4)

    Determining the appropriate value for the kp and kd (ant response threshold) has a huge impact on removing and releasing the object by ants. The more the amount of kp, the higher the probability of pick-up function. So picking-up the objects is done more easily. On the other hand, by increasing the amount of kd, the likelihood of release function decreases, and release operations are performed more difficultly. The most appropriate values were obtained for parameters kp and kd through test, as the best solution to the problem of clustering objects.

    3.5 Update Ant Memory

    As noted earlier, with regard to memory for ants, the waste of time can be prevented to search for objects by the ants. Furthermore, the use of memory by ants largely prevents the formation of additional similar clusters. After the release of an object by ants, the place of objects recently carried is stored in the ant’s memory. If there is an empty location in ant’s memory, the information of new release operation is stored in an empty place; otherwise, the information of the release operation performed recently is replaced by the oldest information in the memory. So, at this point, the ant’s memory is updated in order to maintain the place of releasing several objects recently carried.

    3.6 Set α Parameter

    α is used to scale the difference between objects and select the appropriate value, having a considerable impact on the quality of clustering. For example, if the difference among objects is large, small amounts of α prevent their clustering. Selecting the exact value for α is dependent on the data structure and when the data structure is not specified; in order to define α, an adaptive strategy should be applied (idea of this subject was introduced by (Handl and Meyer, 2002) firstly). That’s why we first consider an initial value for α, and if the number of unsuccessful attempts to release the object by ants is higher than the identified threshold, the amount of α is increased at the amount of Δα. Doing so, first, the things that are very similar to each other are clustered by ants, and then difference criteria become weaker, and objects with a smaller degree of similarity can also be clustered.

    3.7 Set Ants’ Visibility

    First, relatively wide range for the ants’ visibility is considered in order to create clusters in general. After progressing clustering operations, ants’ visibility is reduced in order to compress current sparse clusters, so the quality of the cluster will increase. Once clustering is done, clustering again can be done with the opinion of the system’s user and based on one of two time criteria (after a specified time period) or the number of objects attached/ detached to/from the network after clustering.

    The main algorithm as described is given below:

    •   /*Initialization*/

    • for every thing oi do

    •    Place oi randomly on grid

    •        end For

    •        /*Man loop*/

    • for t=1 to tmax do

    •    for each agent A do

    •      if (A unladen) then

    •      // trying to pick up a never moved thing

    •        if exist thing oi that never moved then

    •         PickUp(oi)

    •         mark A as laden

    •       else // randomly select a thing and trying to pick up it

    •      while (a is unladden)

    •       Randomly Select a thing oi

    •       Compute f(oi) and ppickup(oi)

    •      If (Random[0,1] _ Ppick-up(oi)) then

    •       PickUp(oi)

    •       mark A as laden

    • End If

    • end while

    • end if

    •    else If (agent laden by thing oi) then

    •    // trying to drop oi in the neighborhood of memory thing

    •     for each thing oj in A’s memory do

    •       if distance(oi,oj)<MinDistance then

    •      MinDistance= distance(oi,oj)

    •      MostSilmilarThing=oj

    •     end if

    •    end for

    •  Compute f(oj) and Pdrop(oj) for MostSilmilarThing

    • if (Random[0,1] _ Pdrop(oj)) then

    •   Drop oi in the neighborhood of oj

    •   mark A as unladen

    • end If

    •   // randomy select a cell and trying to drop oi on it

    •   if A is laden yet then

    •   for certain iteration do

    •    randomly select empty cell in grid

    •    compute f(oi) and Pdrop(oi)

    • end for

    •   if (Random[0,1] _ Pdrop(oj)) then

    •     Drop oi in the neighborhood of oj

    •    mark A as unladen

    •   end If

    • end if

    •  // drop oi in free region

    •    if A is laden yet then

    •      drop oi in free region

    •    end if

    •   // adjusting α parameter

    •   if unsuccessful dropping tries exceed from pre-specified threshold then increase α

    •    end if

    • end If

    •   if Clustering process improved over thresh

    •     then // adjusting s parameter

    •     decrease Neighborhood Size

    •      end if

    •   end For

    • end For

    4. PERFORMANCE EVALUATION

    In this section, the results of the tests are discussed to evaluate the proposed algorithm. It is worth mentioning that the tests have been carried out in order to evaluate, 1) clustering algorithm performance in terms of quality and timing convergence and, 2) scalability algorithms.

    Clustering quality and convergence

    In order to evaluate the effect of clustering at the expense of processing and precision response to questions after a clustering operation, 100 objects were selected randomly, in which some questions were issued. Issued questions were assessed in the neighborhood of radius 6 of the object issuing the questions which were answered by an object with maximum likelihood. Finally, the average accuracy of the answers given to the questions for all 100 items was calculated.

    Experiments have been conducted for two different conditions. In each experiment, there is an initial set of attributes assigned to each object randomly. Due to the autonomy of the objects in the IoT, the number of attributes in each object can be different from the rest of the objects. Accordingly, a number of attributes that an object can possess regarding an upper and lower limit were considered so that in each object there were several attributes in this range. In each experiment, the number of objects, the total number of primary traits, the number of attributes that each object can have, the size of the screen, adjacent radius of any object (ants’ visibility) (in order to calculate the probability function), and the number of iterations had different values.

    First test

    Options considered for the first test are shown in Table 1. The results of the first test are shown as follows: the average results obtained from 20 different performances. Figure 1 shows an example of the clusters formed from the clustering process after 100, 400, and 600 repeats. Figure 1 shows that after 400 runs, the overall shape of the clusters is formed; at this stage, the ants’ visibility is reduced to the specified final amount, and after 600 runs, shaped clusters became denser, and the quality of the clusters increased as much as desired.

    Figure 2 illustrate the clustering accuracy in comparison to the optimal situation. After 300 and 600 runs, the clustering algorithm generated 70% and 93% of the optimal solution, respectively.

    Table 2 gives the runtime of the clustering algorithm and an average accuracy of the answer given to the question for certain repetitiveness. According to observations after several repeats, clustering algorithm processes more quickly. The reason for this is cluster formation and more use of ants’ memory in the releasing objects operations.

    The second test

    Options considered for the second test are shown in Table 3. Figure 3 shows an example of the clusters formed from the clustering process after 200, 500, and 800 runs. In this study, after 500 repeats, the overall shape of the clusters was formed, and by reducing ants’ visibility, density and accuracy of clusters significantly increased after 800 runs. In Figure 4, the clustering accuracy in comparison with the optimal situation is shown. After 500 and 800 runs, the clustering algorithm generated 85% and 92% of the optimal solution, respectively.

    Table 4 gives the runtime of the clustering algorithm and an average accuracy of the answer given to the question for certain repetitiveness. Despite the increase in scale of the problem, the proposed clustering algorithm processed clustering operations in acceptable time and with a high quality.

    Scalability

    As noted earlier, one of the most important issues in the IoT is scalability of the techniques used. In this section, the scalability of the algorithm is evaluated for clustering objects described above. For this purpose, the efficiency of the algorithm is tested in comparison to increase of the magnitude of the problem.

    4.1 Number of the Sheets

    The experience which is done in order to evaluate the scalability in comparison to increase the number of attributes in the object shows linear growth of the convergence of the algorithm (despite the fact that the numbers of ants is constant). As can be seen in Figure 5, the number of runs (repetitions) can be estimated as a linear function of the number of attributes.

    4.2 The Number of Objects

    The experiences show that increasing the number of objects (while the number of ants is constant) changes the number of steps for the convergence of the algorithm linearly. Figure 6 depicts that the number of steps can be considered as a linear function of the number of objects. This shows the high scalability of the algorithm.

    In another testing, also the system’s scalability against increasing the number of characters and objects was examined. The trial started with 100 objects and 35 attributes, and in each step, 40 objects and 10 traits were added to the issue. The number of repetitions can be estimated as a linear function of a combination of characters and objects (Figure 7).

    5. CONCLUSION

    One of the most important issues in the IoT is reducing the search costs; therefore, object clustering is a potential solution in this regard.

    In this process, objects with the same action or data content are placed in a cluster. With inspiration from the behavior of ants, this study developed a new and efficient algorithm for clustering objects in the IoT environment as an approach. The results of the evaluation show that the proposed approach functions well in terms of time and accuracy, and also it has a high scalability against increasing of the issue’s magnitudes.

    Figure

    IEMS-18-2-274_F1.gif

    The result of the implementing clustering algorithm on 500 objects (a) random distribution of objects in the screen (b) the results of clustering after 100 runs (c) the results of clustering after 400 runs (d) the results of clustering after 600 runs.

    IEMS-18-2-274_F2.gif

    The proportion of clustering compared to the optimal situation.

    IEMS-18-2-274_F3.gif

    The result of implementing clustering algorithm on 1000 objects (a) random distribution of objects in the screen (b) the results of clustering after 300 runs (c) the results of clustering after 500 runs (d) the results of clustering after 800 runs

    IEMS-18-2-274_F4.gif

    The proportion of clustering compared to the optimal situation.

    IEMS-18-2-274_F5.gif

    The effect of increasing the number of attributes on the convergence of the algorithm in order to achieve the desired quality (in this experiment, 70% of the optimum).

    IEMS-18-2-274_F6.gif

    The effect of increasing the number of objects on the convergence of the algorithm in order to achieve the desired quality (in this experiment, 70% of the optimum).

    IEMS-18-2-274_F7.gif

    The impact of increasing the number of objects and attributes on the convergence algorithm in order to achieve the desired quality (in this experiment, 70% of the optimum).

    Table

    Options considered for the first test

    The runtime of the clustering algorithm

    Options considered for the second test

    The runtime of the clustering algorithm

    REFERENCES

    1. Abu-Elkheir, M. , Hayajneh, M. , and Abu Ali, N. (2013), Data management for the internet of things: Design primitives and solution, Sensors, 13(11), 15582-15612.
    2. Bhadani, A. and Jothimani, D. (2016), Big data: Challenges, oppurtunities and realities. In M. Singh and D. Kumar (Eds.), Effective Big Data Management and Opportunities for Implementation (pp. 1-24). Pennsylvania, USA: ISI Global. Retrieved from https://arxiv.org/ftp/arxiv/papers/1705/1705.04928.pdf.
    3. Cooper, J. and James, A. (2009), Challenges for database management in the internet of things, IETE Technical Review, 26(5), 320-329.
    4. Crespo, A. and Garcia-Molina, H. (2004), Semantic overlaynetworks for p2p systems. In v.3. Agents and Peer-to-Peer Computing, Agents and Peer-to-Peer Computing (pp. 1-13), Springer, Berlin, Heidelberg.
    5. Deneubourg, J. , Goss, S. , Franks, N. , Sendova-Franks, A. , Detrain, C. , and Chrétien, L. (1991), The dynamics of collective sorting robot-like ants and ant-like robots, Proceedings of the First International Conference on Simulation of Adaptive Behavior on From Animals to Animats, MIT Press Cambridge, Paris, France, 356-363.
    6. Dhamankar, R. , Lee, Y. , Doan, A. , Halevy, A. , and Domingos, P. (2004), iMAP: Discovering complex semantic matches between database schemas, Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, ACM, Paris, France, 383-394.
    7. Do, H. H. and Rahm, E. (2002), COMA: A system for flexible combination of schema matching approaches, Proceedings of the 28th international conference on Very Large Data Bases, ACM, Hong Kong, China, 610-621.
    8. Dobson, S. , Denazis, S. , Fernández, A. , Gaïti, D. , Gelenbe, E. , Massacci, F. , Nixon, P. , Saffre, F. , Schmidt, N. , and Zambonelli, F. (2006), A survey of autonomic communications, Transactions on Autonomous and Adaptive Systems (TAAS), 1(2), 223-259.
    9. Elmenreich, W. , D’Souza, R. , Bettstetter, C. , and Meer, H. (2009), A survey of models and design methods for self-organizing networked systems, Self-Organizing Systems, 37-49.
    10. Giusto, D. , Iera, A. , Morabito, G. , and Atzori, L. (2010), The internet of things, 20th Tyrrhenian Workshop on Digital Communications, Springer.
    11. Handl, J. and Meyer, B. (2002), Improved ant-based clustering and sorting in a document retrieval interface, International Conference on Parallel Problem Solving from Nature, Springer, Berlin, Heidelberg, 913-923.
    12. Ku-Mahamud, K. (2013), Big data clustring using grid computing and ant-based algoritm, Proceedings of the 4th International Conference on Computing and Informatics (ICOCI 2013), Sarawak, Malaysia, 1-9.
    13. Madhavan, J. , Bernstein, P. , and Rahm, E. (2001), Generic schema matching with cupid, Proceedings of the 27th International Conference on Very Large Data Bases, ACM, San Francisco, 49-58.
    14. Nouira, A. , Cheniti-Belcadhi, L. , and Braham, R. (2017), An ontological model for assessment analytics, Proceedings of the 13th International Conference on Web Information Systems and Technologies, WEBIST 2017, Porto, Portugal, 243-251.
    15. Rellermeyer, J. , Duller, M. , Gilmer, K. , Maragkos, D. , Papageorgiou, D. , and Alonso, G. (2008), The software fabric for the internet of things, First International Conference, Zurich, Switzerland, 87-104.
    16. Yang, R. and Xu, J. (2016), Computing at massive scale: scalability and dependability challenges, IEEE Symposium on Service-Oriented System Engineering (SOSE), Oxford, UK, 386-397.
    17. Ye, W. , Heidemann, J. , and Estrin, D. (2002), An energyefficient MAC protocol for wireless sensor networks, Proceedings, Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, 1567-1576.