A survey on subjecting electronic product code and non‐ID objects to IP identification

Over the last decade, both research on the Internet of Things (IoT) and real‐world IoT applications have grown exponentially. The IoT provides us with smarter cities, intelligent homes, and generally more comfortable lives. However, the introduction of these devices has led to several new challenges that must be addressed. One of the critical challenges facing interacting with IoT devices is to address billions of devices (things) around the world, including computers, tablets, smartphones, wearable devices, sensors, and embedded computers, and so on. This article provides a survey on subjecting Electronic Product Code and non‐ID objects to IP identification for IoT devices, including their advantages and disadvantages thereof. Different metrics are here proposed and used for evaluating these methods. In particular, the main methods are evaluated in terms of their: (i) computational overhead, (ii) scalability, (iii) adaptability, (iv) implementation cost, and (v) whether applicable to already ID‐based objects and presented in tabular format. Finally, the article proves that this field of research will still be ongoing, but any new technique must favorably offer the mentioned five evaluative parameters.


INTRODUCTION
The preponderance of Internet of Thing (IoT) is one of the future trends of society that can positively impact all aspects of our lives and change the way we live. The term "Internet for Things" (instead "of") was used by Kevin Ashton for the first time in Forbes magazine when he said: "We need an Internet for Things, a standardized way for computers to understand the real world." 1 IoT is included in the list of six "Disruptive Civil Technologies" by the US National Intelligence Council. 2 Some applications where IoT can play the main role and improve services, include: Transportation, Logistics, Healthcare, Smart Homes, and Industrial Automation.
Pre-2000, fewer than 4% of the world population were connected to the Internet, as of December 2019, this has now reached a penetration of greater than 58.7%. 3 Besides, the number of smart objects is growing daily, along with the willingness of the public for them to have full control over our environment. This includes their ambient monitoring of the environment including domestic/industrial control of Heating/Ventilation/Air Conditioning (HVAC) systems, Home Energy Management Systems, Home Appliances Systems, cars, health-monitoring devices, road sensors, security devices, and personal fitness trackers. Based on the report by IHS Markit, 4 the number of IoT installed devices will reach 40 billion by 2020. Table 1 shows some projections about the number of connected IoT devices from 2021 through 2030. Table 2 shows similar projections for some specific-purpose devices. These numbers show how IoT will influence our lives and change our lifestyles forever.
Based on the statistics shown in Table 2, industrial products have a significant share of the future IoTs. Despite the myriad of research articles on IoT and the advances made, many challenges still need to be overcome. These problematic areas for IoT include: (1) interoperability of standards; (2) mobility support; (3) addressing of smart objects; (4) transport protocols; (5) QoS support; (6) authentication; (7) data integrity; (8) privacy; (9) security; and (10) digital forgetting. 13 Many survey articles have been written in different areas of IoT, a selection of these are discussed next. The authors in Reference 13 have focused on the main core technologies underlying IoT. While Reference 14 deals with the IoT architecture and Reference 15 provides a survey on the enabling technologies in using cloud technology in IoT. Clinical applications of IoT are presented in Reference 16 while Reference 17 presents an overview of IoT with emphasis on Radio Frequency Identification (RFID) technology. Reference 18 meanwhile, concentrates on facilities for experimental IoT research. The current IETF (Internet Engineering Task Force) standards for IoT technology is discussed in References 19 and 20, which provides a good survey on the impact of IoT in business and marketing. However, to the best of our knowledge, no survey article has concentrated on mapping methods for each IoT object. Therefore, this article has dealt with this lack of research by conducting and providing an overview of IP-based and EPC (Electronic Product Code)-based 21 methods. These surveys, discusses their advantages and disadvantages. [22][23][24][25][26][27][28][29][30][31][32][33][34][35][36][37][38][39][40][41] As part of this new research, some metrics for evaluating and comparing addressing methods are provided, including a section for evaluating the current addressing methods based on our novel metrics. Table 3, below, shows a summary of the important acronyms used throughout this article.
The rest of this article is as follows-Section 2 gives a brief review of IoT enabling technologies, like Wireless Sensor Networks (WSNs), RFID, and EPC. In Section 3, we briefly mention some use cases and application areas of the investigated methods. In Section 4, a comprehensive review of current mapping methods in the IoTs is provided. Moreover, a "Remarks" section for each method that considers the advantages and disadvantages of the method is also included. In Section 5, some new metrics are defined that were used to evaluate and compare these methods. Finally, Section 6 concludes the article.  56 Long Term Evolution-Advanced, 57,58 Z-Wave, 59 Internet Protocol version 6 (IPv6), 60 ZigBee, 61 Near Field Communication, 62 and Ultra-Wide Bandwidth. 63 Investigating all these above-mentioned technologies and protocols is beyond the scope of this article. Interested researchers can refer to References 64-66 for further depth. A brief overview of WSN, RFID, and EPC relevant technologies for this research are covered in the next section.

Wireless sensor network
A WSN consists of several interconnected sensor nodes. These sensors are distributed in the environment to sense the ambient area and collect data. The sensors may preprocess this data in some cases and finally transfer it to a sink node, usually in a multihop manner. Other sensors can sense environmental conditions like temperature, humidity, chemical reactions, bioactivity, motion, light, radiation, seismic activity, air pressure, gravitation, and magnetic flux, and so on. We can use these sensors in a large variety of monitoring applications as follows: healthcare, environmental, industrial, habitat, traffic control, underwater acoustic, and so on. Figure 1 shows a projection of the IoT enabled sensor market in 2022. 67 After the emergence of IoT, WSNs are expected to be integrated into the IoTs. 68 WSNs can be connected to the Internet in three ways, through (i) a Gateway, as shown in Figure 2A; (ii) multiple Gateways, as shown in Figure 2B; (iii) just by one hop, as shown in Figure 2C. 68 Clearly, the major disadvantage of the first approach is that of the Single Point of Failure due to using just one Gateway between the WSN and the Internet. However, the second and third approaches do not suffer from this weakness and offer much better solutions and resiliency. 68 While many articles have been written in the field of WSNs, there still remain some challenges. Since WSNs are one of the IoT enabling technologies, 15

Radio frequency identification
RFID technology has gained widespread attention in recent years. RFID is an automatic system that store/retrieve data in/from devices called RFID tags. RFID tags can attach to anything, including products, animals, or even humans,  for identification purposes. Each RFID tag consists of two parts: a microchip for processing data and an antenna for sending/receiving the signals.
There are three types of RFID tags: active, passive, and semipassive tags. Table 4, below, shows the main differences between these three types of RFID tags.

Electronic product code
The EPC 21 is a physical object naming scheme that was conceived at the MIT Auto-ID Center. 87 The EPCglobal Network 88 includes four main parts, the: (1) Object Name Service (ONS), 89 which "is based on the current Internet Domain Name System (DNS)" 88 ; (2) EPC Information Services (EPCIS) 90 ; (3) EPC Discovery Services (EPCDS); and (4) EPC Security Services (EPCSS). However, the security services have not been finalized yet. It is expected that the EPCglobal network will include a "Certificate Authority" using X.509 certificates. 91 These four parts of the EPCglobal Network may be compared with the traditional Internet, thus, the: ONS is like a Domain Name Server, EPCIS is like a website, EPCDS is like a search engine and EPCSS is like SSL/TLS (Secure Sockets Layer/Transport Layer Security) protocols. The "GS1 System Architecture Document" 92 now encompasses most of the original definitions of the EPCglobal Network. 88 The EPC is  Figure 3 shows the architecture of the EPC network. The "Savant" is a middleware system that is responsible for passing requests from the application to the RFID readers. The Savant can get unique EPC and then return the object information to the application. 93

USE CASES AND APPLICATION AREAS
RFID applications are used in many different areas such as security and access control, supply chain management, and objects and personnel tracking, to mention but a few. Most objects in the mentioned areas are just equipped with passive, low-cost RFID tags. Therefore, they are not equipped with any kind of microprocessors and IPv6 protocol stack, so they are not able to connect to a computer network. 34 The first approach that comes to mind is to equip the tags with the IPv6 protocol stack, but this requires many changes to the structure of existing tags. As an example, authors in Reference 28 proposed a method to modify the tags to hold the IPv6 protocol stack. But, this solution makes these tags too costly for integration into the IoT since the cost of the tags could surpass the cost of the "things" themselves. 34 So many of the methods presented so far have been focusing on mapping the tag IDs to the IPv6 addresses. Several problems may occur in this case like mobility issues, which occur when tags physically move around, and security issues. The use of Mobile IPv6 (MIPv6) 29 and hash functions 23 to construct an IPv6 address from an EPC are proposed in a few research works to cope with these issues.

CURRENT ADDRESSING METHODS 4.1 EPC vs IPv6 mapping mechanism 22 2007
Authors in Reference 22 have provided a new object addressing method based on EPC mapping to produce an IPv6 addressing mechanism for objects. This was undertaken by using the 64-bit EUI (Extended Unique Identifier) field at first and then replacing the EUI with the 64-bit EPC to obtain a hierarchical method. The 64-bit Network Prefix was concatenated with the 64-bit EPC to produce a 128-bit IPv6 address.
Remarks: one of the most important disadvantages of this method is that it only works with 64-bit EPCs and not with any other size fields.

HIP-based RFID network architecture 23 2007
Authors in Reference 23 have presented a cryptographic addressing mechanism based on the Host Identity Protocol (HIP). This method works with homogeneous tags. HIP obtains the ID of two homogeneous tags and encapsulates it in tables (HIP header) by exchanging messages between them. The Host Identifier Tag (HIT) uses a one-way hash function to encrypt the EPC. A Network Address Translator (NAT) converts the HIT values to an IPv6 address and attaches it to each tag. 23 Authors in Reference 23 proposed to create a NAT system between the tag IDs and IP addresses. They proposed two possible solutions: (1) a global NAT system provided by a portal and (2) an embedded NAT system that is embedded in each reader. 23 Remarks: Reference 23 has presented two models to allocate IPv6 addresses. In the first model, NAT operates globally and obtains the ID of each tag from a reader. Thus high traffic and queuing overhead occur for NAT. In the second model, NAT is embedded in each reader, thus solving the problems with the first model. However, the translation between the HIT and IP is done through a DNS by extracting the HIP header. Consequently, a host ID is the result of the header extraction. Meanwhile, high complexity occurs due to the calculations in the header. On the one hand, The HIP is a hierarchical method (combining the Host ID with the Net ID) and is only capable of addressing homogeneous tags. On the other hand, the main problem which may occur is that the result of the application of the HIP from two different ID tags becomes the same as each other. Accordingly, the extraction process faces an address collision. The improved method of this protocol is presented in Reference 26.

RFID networking mechanism using an address management agent 24 2008
Determining the dynamic IP address by using the Dynamic Host Configuration Protocol and Address Management Agent has been presented in Reference 24. The reader finds the RFID tag ID (EPC) and delivers it to the agent, which stores the ID in the device storage. Then, the agent assigns a physical address to the ID and sends it to the DHCP server to construct the IPv6 format.
Remarks: in this method, an agent is responsible for addressing management, which lacks the advantage of stateless address auto-configuration. It means it depends on a DHCP server to construct an IPv6 address, and if the server goes down, then the IPv6 construction will fail. Furthermore, it is not clear that the proposed mechanism in Reference 24 supports all the different types of EPC classes. Therefore, the scalability and adaptability of this mechanism are low.

Mobile RFID with IPv6 for phone services 25 2009
The integration of RFID with Mobile phones has been presented in Reference 25. The purpose of this work is to avoid the overhead in servers by using the mobile phone as a reader. Regarding the mechanism, the mobile phone reads the tag ID and memory data to find the IPv6 address in the tag. It acknowledges the EPCglobal network in the case of IPv6 address existence. But if there were no existing IPv6 address, the mobile phone constructs the format of the IPv6 address using 64 bits from the network prefix and 64 bits of the host ID. The mobile phone then delivers the generated IPv6 address to the RFID tag directly. Remarks: in this method, the mobile phone must support the IPv6 address; therefore, the adaptability of the proposed mechanism is low. Also, there is no need to have any expensive readers, and it is also a hierarchical method. Albeit, the mobile phone must support the IPv6 addressing; otherwise, the mechanism performance will be reduced. Also, the authentication operation must be done if the mobile phone wants to connect to an unknown device, which increases computational overhead. Last but not least, the authentication process is performed once that can compromise the security of the method.

Address mapping mechanisms of IOTs 26 2010
IPv6 address construction for heterogeneous tags has been proposed in Reference 26 using the General Identity Protocol (GIP). The operation of IPv6 construction was executed by exchanging a message containing some bit tables between the heterogeneous tags. In this method, two heterogeneous tags obtain the length and type, which are further processed in tables to generate the IPv6 address. The GIP header is shown in Figure 4.
Remarks: GIP is based on the HIP. 23 Despite the HIP header being larger than GIP, the GIP header offers good performance amongst heterogeneous tags. Mapping the IPv6 address becomes faster and simpler if the type and length of the tags are the same. Since the length of tags may vary due to the variations in their standards, the address generated by this method could be larger than 128 bits.

IP-based wireless sensor approach 27 2010
The protocol proposed in Reference 27 focuses on the adaption of utilizing IPv6 with sensor networks, which is called Sensor Network for All IP World (SNAIL). This mechanism is compatible with all 6LowPAN features and can be implemented in every Personal Area Network (PAN) types such as Inter-PAN and Intra-PAN. The method covers four features in addition to IP compatibility including: Remarks: It should be noted that there are several additional fields in the header to make the four previously mentioned features possible, causing a high computational overhead. SNAIL is capable of addressing a limited number of sensors, and thus its scalability is low.

RFID system using IPV6 28 2010
A hardware-based approach is presented in Reference 28. An RFID is equipped with a circuit which handles the address mapping process of EPC to IPv6. This system uses IEEE 802.11 (WLAN) to connect to the RFID tags. An EEPROM is attached to the system, which maps the information of addressing. The system eliminates the reader for RFID using a Wireless Network Interface (WNIC) to communicate with the tags. Figure 5, below, displays the block diagram of the proposed mechanism in Reference 28.
Remarks: the main advantage of the method proposed in Reference 28 is using WNIC instead of costly readers. It uses the subnet prefix to become a hierarchical method. Other issues that must be considered first include the fact that the cost of the proposed system might be higher than that of the object itself. Also, the size of the proposed system is important since the size of the system might be larger than the size of the object. The proposed system also supports only 64-bit EPCs. Remarks: the advantage of Reference 29 is in using the MIPv6 protocol, which offers the address updating feature. On the other hand, the connection between the CN and the reader is not secure. Therefore, the authors have introduced some security and authentication protocols, for example, AES (Advanced Encryption Standard), 98 SHA-1 (Secure Hash Algorithm), 99 and ECDSA (Elliptic Curve Digital Signature Algorithm) 100,101 without any further explanation.

EPC-based IoTs 30 2011
An EPC mapping technique 30 is presented for identifying home appliances using IoT. To translate the mapped EPC to IPv6 in this method, communication with devices takes place through codes (eg, XML) via sensors (eg, ZigBee). The circuits communicate with users through mobile phone software interfaces and give the necessary information from the environment to the users. Remarks: the proposed mechanism 30 is just suitable for small scale places like homes; its application is limited to home appliances. Besides, it is not possible to use the current addressing mechanism for heterogeneous environments due to the presence of various sensors. Therefore smart gateways help to resolve this problem. 102

Integrating building automation systems using IPv6 and IoT 31 2012
An investigation 31 was presented based on a Building Automation System and Control Network (BACnet), called BAS (Building Automation System) using IPv6 and IoTs which included: HVAC, Lightening, Security, Household Devices, and so on. BACnet is suitable for Local Area Networks (LANs) and uses IPv4. BACnet is, however, unable to use IPv6-which confronts it with interoperability and scalability problems due to the device identification.

F I G U R E 5
The block diagram of the proposed system 29 Meanwhile, the integration of IPv6 and BACnet is proposed in BAS, and the Human-Things interaction is improved by BAS. Therefore, some useful applications of BAS are: (1) device maintenance (eg, home appliances), with the device itself detecting the system problems reporting them to the operator; (2) energy harvesting and intelligent systems; (3) use of BAS in commercial fields like conferences by using RFID tags to authenticate and confirm the visitor's identity card.
Remarks: BACnet and BAS are flexible and offer excellent performance in LANs, but they have the same problem of scalability due to being only applied in LAN zones.

Adaptive and transparent IPv6 in IoT 32 2013
A concept of global addressing and integration of 6LowPAN with sensor devices such as ZigBee sensors (802.15.4) and other technologies which lack IPv6 capabilities in their stack, was introduced as "Glowbal IP". 32 The main part of Glowbal IP is the use of the Access Address Identifier (AAID) parameter, which plays the role of the header. AAID contains both the IPv6 and UDP parameters (eg, source/destination ports, source/destination addresses) to reduce the overhead in IPv6 and 6LowPAN. The AAID gateway contains a Local to Global (L2G) mapping table to save the mapping process.
Glowbal IPv6 provides the integration between most technologies (eg, Konnex, enabling IPv6 for smartphones through their Bluetooth Low Energy interface, ZigBee, and so on) and optimizes 6LowPAN by reducing 41 bytes of IPv6/UDP headers. Glowbal IPv6 protocol uses the DNS-SD (DNS Service Directory) and (m-DNS (multicast DNS for the discovery services, which are developed from DNS 103 to enable Glowbal IPv6 for legacy technologies such as X10 and Konnex. This protocol is not suitable for devices such as smartphones, as this feature is not implemented for them. 104 Remarks: The method proposed in Reference 32 compresses the IPv6 header to reduce the overhead. Also, the mapping process for 802.15.4 is hierarchical. However, the implementation of the AAID gateway is costly and needs extra hardware.

Mapping legacy device addressing to IPv6 IoT devices 33 2013
The aim of the IPv6 addressing mechanism 33 to address legacy technologies was to allocate IPv6 to technologies that did not support this protocol-to increase the number of connected devices and technologies to IoT. Besides, there will be interoperability among different devices (eg, sensors). 105 Legacy technologies that benefit from this mechanism include the European Installation Bus (EIB) 106 and the Controller Area Network (CAN) 107 for building automation and RFID for identification. In this method, IPv6 addressing proxy is provided for mapping devices in a way that the device ID is used to create the host ID, which will be combined with the net ID for obtaining the IPv6 address. The IPv6 mapping mechanism is applied to devices and technologies using their data frame to get a mapped frame. Figure 6 shows the X10 data frame and its mapped frame.
Remarks: The proposed mechanism provides an efficient method for addressing legacy devices, but it is completely an ID-based method and is not practical for modern devices.

4.13
Integrating RFID with IP host identities 34 2013 Another addressing method, which is based on Cryptographically Generated Addresses (CGAs), has been introduced. 34 This method uses the EPC code of EM1400 tag as the Host ID and combines it with the 64 bits of the Net ID. Three scenarios can happen while mapping the EPC. First, the mapped EPC is less than 64 bits; therefore, the mechanism adds zero paddings. Second, it might be equal to 64 bits so that it will be used without any manipulation. Third, it might be larger than 64 bits, for which the mechanism uses compressing strategies. Remarks: the proposed method supports RFID tags for addressing and also is a hierarchical addressing method. Also, this method is simple, and there is no need for additional hardware for implementation. However, the reason for categorizing this method in the CGA group is that the mechanism uses hash functions to compress long EPCs. The use of hash functions causes computational overhead and increases the mapping and allocating process time of creating the IPv6 address.

IPv6 global addressing for IoTs and the cloud 35 2014
This Scheme 35 has focused on the connection between the IoTs and the cloud using IPv6 and the Constrained Application Protocol (CoAP). The presented platform 35 benefits from Software as a Service (SaaS), Universal Device Gateway (UDG) and the IoT6 project to allocate IPv6 addresses to various devices. 108, 109 The platform 35 solved the cloud security issues through the UDG project. Besides, it has used ZigBee and 6LowPAN for IPv6 adaption in IoT devices.
Remarks: the purpose of IoT and cloud integration using CoAP is to eliminate the NAT so that each device obtains a unique address. The proposed method has substantially increased the connection between human-to-machine (H2M) and machine-to-machine (M2M) devices. Also, this mechanism improves the interoperability and scalability of heterogeneous devices. The security in the cloud depends on human operators, which reduce the auto mode of the platform. Consequently, the speed of detecting heterogeneous tags is decreasing. However, this method enjoys good advantages, including end-to-end connectivity and compatibility with REST (Representations State Transfer) interfaces (for web interactions) such as HTTP and CoAP.

Efficient naming, addressing and profiling services in IoT sensory environments 36 2014
Naming, Addressing, and Profile Server (NAPS) middleware presented in Reference 36 makes different platforms interoperable in IoT sensor networks. This method covers several protocols for addressing, such as RFID, ZigBee, Bluetooth, and so on. The IPv6 address conversion parameter provided in Reference 36 is as follows: Address-1@protocol-1∕---∕address-n@protocol-n∕IP − address ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ non-IP networks As can be seen, protocols that do not have the advantage of IPv6 are converted by the first section, and if an IPv6 already exists, it will be used directly. An example of this mechanism for RFID using EPC is 36 : binary-epc@rfid∕ < readerIP ∶ port > .
Remarks: NAPS middleware connects various IoT approaches based on RESTful and Application Programming Interfaces (APIs). The main advantages of the NAPS are Authentication, Authorization, and Accounting (AAA). However, the details of authentication are for future work. Also, the NAPS provides high interoperability among different IoT protocols. The naming step names the devices based on tree algorithms. Consequently, the tree algorithms are not efficient for application on devices on a large scale and cause the proposed mechanism to experience additional computational overhead.

4.16
Tree-code addressing for non-ID physical objects in IoTs 37 2015 The purpose of the Tree-Code addressing mechanism 37 is connecting non-ID physical objects to the Internet. The focus is on non-ID physical objects, but it also works on objects that have an ID (eg, EPC). It operates based on the properties of things such as location (if GPS exists), physical characteristics (eg, color, size, shape, and so on), and their behavior (their interaction with the environment and other things).
Remarks: This method is useful for non-ID physical objects to connect them to the global network. In this method, one has to consider some issues which may occur. First, the thing or device may be malicious for the Internet and might cause problems for other devices as well, but it may still be addressed through the Tree-code algorithm. Thus, there is no reliability and security. The second issue of importance is that this method requires a long time to find the properties of things. Third, this method needs additional hardware accessories (eg, sensors), which increases the cost of implementation.

Research on identification and addressing of IoTs 38 2015
This addressing method 38 based on distributed ID, first performs the addressing step, then implements the routing addressing algorithm by combining Cluster-Tree (CT) 110 and Ad-hoc On-demand Distance Vector Routing (AODV) 111 to improve routing. The addressing starts with allocating the distributed ID to the nodes (which are 128 bits in size). The first 64 bits belong to the local ID of the node, which includes various protocols such as ZigBee, WiFi, Bluetooth, and so on. The field of the ID is also used for some purposes like Wireless LAN routing. The rest of the 64 bits is obtained from the other fields of the distributed ID, as shown in Figure 7. The allocation of the distributed ID is performed by the Distributed Address Allocation (DAA) algorithm, 38 which functions as a tree. Thus, a node that requires an ID and does not have any access to the network should find its parent with a depth of d through exchanging messages (depth d is obtained from Relation 2 105 ) and receiving ACK responses. Therefore, the parent node allocates the address to a node that does not have access to the network by Relation 1. 106,112 A children = where, C skip(d) is the address offsets of the routing node with depth (d), n is the number of connections to the network for the child node, Cm shows the maximum number of child nodes, Rm denotes the maximum number of child nodes including the parent, and Lm shows the maximum network depth. After the addressing operations, the Cluster-Tree and AODV algorithms are used to route the network nodes. Remarks: Using useful algorithms like the Cluster-Tree and AODV for establishing an optimal route from the source to the destination and forwarding the received packets instantaneously to the next nodes without rerouting is one of the advantages of this method. This article also presents a method with no hardware requirements and additional costs. Nonetheless, the routing algorithms provided in this approach are only efficient in LANs and are not suitable for large networks.

4.18
From RFID tag ID to IPv6 address mapping mechanism 39 2015 An addressing mechanism based on the EM1400 tag is presented 39  bits, equal to 64 bits, and more than 64 bits) and converts the ID to binary code. Second, the mechanism performs left zero-padding if the length of the binary code is less than 64 bits. Also, the XOR operator transforms the obtained binary code. Finally, these 64 bits are used as the Host ID and combined with the reader Net ID to achieve a 128 hierarchical IPv6 address. Remarks: this mechanism is a low cost and hierarchical method. But, if the length of the ID is greater than 64 bits, the compression process should be performed based on hash functions in Reference 34; however, this increases the computational overhead in the addressing process.

Extension of IPv6 addressing to connect non-IP objects 40 2017
An ID-based addressing mechanism, 40 which is the same as in Reference 39, obtains the tag ID. Through its calculations, decide to compress it with hash functions, adding zero-padding if necessary or conserve the same ID. The use of the logical OR (+) operator between the Host ID and the Net ID is the only difference between the mechanisms proposed in References 39,40. Remarks: this method needs a short time for addressing a single tag. The proposed mechanism has no additional cost and is easy to implement. But it is not practical for non-ID objects and thus also causes additional computational overhead for long IDs.

IPv6 addressing based on EPC mapping in the IoTs 41 2018
This useful and straightforward EPC-based mechanism 41 uses the serial section of the EPC (which is the unique part, and it is always less than or equal to 64 bits) for the mapping process. This method adds padding, if required, to make up the 64 bits. Then the 64 bits are converted to hexadecimal. Therefore, the IPv6 address construction is done by combining it with the reader's net ID. Figure 8 illustrates the flowchart of this mechanism. Remarks: this approach supports all EPC standards for mapping and is a simple, fast, and hierarchical method. The method 41 addresses 2 128 number of RFID tags, which provides adaptability and excellent performance. However, it does TA B L E 5 Positive and negative aspects of current addressing methods

References
Positive aspects Negative aspects not support non-ID objects and is inefficient in operating in heterogeneous environments, including different sensors and technologies (except RFID).

METRICS AND EVALUATIONS
In Table 5, a summary of the advantages and disadvantages of the above methods is presented. Indeed, all of the methods investigated above have their own merits and problems. Thus there are many avenues open in this topic for researchers. Some methods have high computational overheads, while some are not scalable, and some are very costly. In this article, some metrics were defined for evaluating and comparing different addressing methods, as discussed above. These metrics are as follows: 1. Computational Overhead: the magnitude of computations needed to obtain an IPv6 address and to assign it to a tag.
The longer the phase of computation, the less efficient the method is. 2. Scalability: the ability to use the method in large networks like the Internet. Some presented methods are just good for small networks and unusable for global networks. 3. Adaptability: the ability to use the method in different types of EPC classes and any type of products that may be using legacy technologies. Achieving the top level of adaptability is desired. 4. Implementation Cost: considering the fact that nowadays, billions of devices are connected to the Internet, a method is needed with a low cost of implementation and minor changes in the structure of the current devices. The use of a novel method with slight changes in the structure of the current methods is much desired (changes in software are much preferable than changes in the physical hardware).
5. ID/Non-ID Only: most of the presented methods are just suitable for addressing things or objects which have an ID, and some are just suitable for addressing non-ID things. It is desirable to have an addressing method that covers these two types of things. This metric has a direct relationship with scalability and adaptability. Table 6 summarizes the comparison of the current addressing methods based on the proposed metrics.

CONCLUSION
In this article, the current addressing methods to address things in the IoTs have been comprehensively surveyed. Special attention has been devoted to the comparison of all the proposed methods and their pros and cons extensively discussed. Furthermore, the discussions were not limited to just the methods that have received a great deal of interest in the past, but the current methods in this topic were also stressed. A section to discuss the advantages and disadvantages of the presented addressing methods has been provided, which also contains the definitions of some metrics for the careful evaluation and comparison of these addressing methods. An important finding is that the field of addressing objects in the IoT space has not been fully explored yet. There is room for developing convenient methods to address any kind of thing in the future Internet. Specifically, based on the fast growth in the number of smart objects in the emerging IoTs, research in this topic will still be relevant and novel. In the near future, methods will be necessary that must have the following features: (1) low implementation cost; (2) low computational overhead; (3) high scalability, and (4) high adaptability.

ACKNOWLEDGMENTS
We would like to express our gratitude and appreciation to Dr. Mirzad Mohandespour (Iowa State University) for his valuable comments and for helping us during this study. We also thank our editors and reviewers for their careful reading of our manuscript and thoughtful comments.

PEER REVIEW INFORMATION
Engineering Reports thanks the anonymous reviewers for their contribution to the peer review of this work.

AUTHOR'S NOTE
The initial research for this article was carried out while Mehdi Imani was with the Department of Computer Engineering, Technical and Vocational University, Tehran, Iran.