• 沒有找到結果。

使用前序樹有效率的辨識已註冊的RFIDs

N/A
N/A
Protected

Academic year: 2021

Share "使用前序樹有效率的辨識已註冊的RFIDs"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:. 何建明. 博士. 林順喜. 博士. An Efficient Prefix-Tree Algorithm for Recognizing Pre-Registered RFIDs. 研究生: 黃 勝 宏. 中華民國. 九 十 六. 撰. 年 六 月.

(2) 國立臺灣師範大學資訊工程研究所 碩士學位論文. An Efficient Prefix-Tree Algorithm for Recognizing Pre-Registered RFIDs 經考試合格特此證明 審查教授:. 指導教授: 研究所所長: 中華民國. 年. 月.

(3) 中 文 摘 要 An Efficient Prefix-Tree Algorithm for Recognizing Pre-Registered RFIDs By 黃勝宏 以往,每件商品都需一件一件的朝讀取機掃描。現在,我們為了節省大量的 掃描時間,想要在一次掃描時間內辨識出所有的商品,這就是我們所採用的RFID 無線射頻技術。 為了達到以上的目的,所要保證的一項重點就是不能有商品的辨識遺漏,滿 足了這個條件,接下來的要求是增快辨識速率,以目前捷運悠遊卡為例,讀取一 張卡片所需的時間為0.4秒,如果商品移動速度快就可能發生有商品遺漏的情 況,因此要降低辨識所需時間。 我們所採用的Protocol是由EPC所以訂製的900MHz Class 0標準,此標準所採 取的防止辨識遺漏的方式為binary tree方法。這個方法必須對每一個商品皆須完整 讀取其條碼才能做出辨識。 在不影響其標準架構下,我們修改其演算方法,以達到我們所要加快辨識速 率的目的,我們將原先的binary tree改進為prefix-tree。首先我們將所需的辨識的 條碼註冊於我們所建造的prefix-tree,接著這些條碼需要被辨識時,便在我們所事 先建造的prefix-tree做辨識。我們的作法不需完整讀取其條碼即能做出辨識,其效 能顯而易見的可比較出。. I.

(4) ABSTRACT An Efficient Prefix-Tree Algorithm for Recognizing Pre-Registered RFIDs By Sheng-Hung Huang In the past, it was necessary to scan products one by one to record information about usage or the number of items in stock. Now, to reduce the scanning time, we want to recognize multiple products with only one scan. To this end, we implement a wireless technique called radio frequency identification (RFID), which allows multi-access. Our objective is twofold. First, we must ensure that the system can recognize every product without loss of information. Second, we need to improve the recognition (scanning) speed. In this thesis, we take Easy Card (issued by Taipei Smart Card Corporation) as an example of RFID, where the reader takes 0.4 seconds to scan a card. Information would lost if the card is moved over the reader in less than 0.4 seconds, so we have to reduce the time required for recognition. We follow the 900MHz Class 0 Protocol Standard of Electronic Product Code (EPC), which implements a binary tree algorithm for anti-collision to prevent information loss. The system has to read an ID code completely (as a string of binary digits) to ensure recognition.. II.

(5) Without changing whole architecture of the standard protocol, we modify the algorithm, which interacts with the reader and the tag. To speed up the recognition time, we improve the binary tree to prefix-tree. First, the process pre-registers the tags which need to be recognized to build a prefix-tree. Second, when the tags need to be recognized, we operate the prefix-tree for recognition. Our approach does not need to read the whole ID code. It only receives bits of the code that we need, and then the reader can get the IDs of the tags.. III.

(6) 誌 謝 首先感謝我的家人,家中還有二個也在唸書的妹妹,還是支持著我讓我沒有 經濟後顧之憂的為學業努力。 感謝這二年來帶著對研究懵懂的我至此能獲得些許成就的指導老師, 何建明 老師以及林順喜 老師。何老師對多種領域的研究讓我的研究生涯獲得許 多不同的激盪。林老師對演算法的專精以及各種遊戲解法的知識讓我得到很大的 助益。 平常對於課業及研究上給我很多指導的學長及同學。在中研院裡面各個學有 專精的學長,NetSys組齊人、又方、佳厚、政穎和KM組威儒、信璁、任明、大為、 一誠以及博士後的信宏和凱翔,給予我很多協助,甚至日常生活有困難也會給於 照顧協助;在師大互相勉勵一起走過的威豪、映男、揆驩,感謝你們在校處處的 幫忙。 太多的感謝人事物言語無法說完,僅以取得這學位,日後成為對家人對師長 對朋友對社會有所貢獻的青年人表示感激。. 黃勝宏 民國九十六年六月. 於. IV. 誌. 國立台灣師範大學資訊工程研究所.

(7) 中 文 目 錄 中文摘要………………………………………………………………… I Abstract………………………………………………………………….II 附表目錄………………………………………………………………...IX 附圖目錄………………………………………………………………....X 第一章. 簡介…………………………………………………………….1. 1.1 問題描述…………………………………………………………………………1 1.2 RFID 特性的優點……………………………………………………………… 2 1.3 RFID 應用領域…………………………………………………………………5 1.4 RFID 系統的運作……………………………………………………………… 8 1.5 衝突討論……………………………………………………………………… 9. 第二章. Class 0 RFID Protocol Specification………………………..12. 2.1 描述 Class 0 RFID Protocol…........................………………………………...12 2.2 發現的一些議題........…………………………………………………………19. 第三章. 相關研究……………………………………………………...20. 第四章. Efficient Prefix-Tree Algorithm……………………………..23. 4.1 描述 Prefix-Tree Algorithm……………………………………………………23 4.2 Prefix-Tree 的架構……………………………………………………………...23 4.3 建立 Prefix-Tree………………………………………………………………..25. V.

(8) 4.4 辨識……………………………………………………………………………28. 第五章. 模擬與成果…………………………………………………...33. 第六章. 結論與未來研究……………………………………………...39. 附錄……………………………………………………………………...41 附錄 A. Type 0 Tag Protocol State Diagram………………………….42 附錄 B. 模擬的虛擬碼………………………………………………….43 參考文獻………………………………………………………………...48. VI.

(9) TABLE OF CONTENTTS 中文摘要…………………………………………………………………I Abstract………………………………………………………………….II LIST OF TABLES……………………………………………………...IX LIST OF FIGURES……………………………………………………..X CHAPTER 1 – Introduction…………………………………………….1 1.1 RFID Problem Definition………………………………………………………..1 1.2 The Benefits of Character on RFID……………………………………………..2 1.3 RFID Application Field……………………………………………………….....5 1.4 Operation of an RFID System…………………………………………………...8 1.5 Collision Discussion……………………………………………………………..9. CHAPTER 2 - Class 0 RFID Protocol Specification…………………12 2.1 Description of Class 0 RFID Protocol………………………………………….12 2.2 Some Issues…………………………………………………………………….19. CHAPTER 3 - Related Work………………………………………….20 CHAPTER 4 - Efficient Prefix-Tree Algorithm………………………23 4.1 Description of the Prefix-Tree Algorithm………………………………………23 4.2 Structure of the Prefix-Tree…………………………………………………….23 4.3 Building a Prefix-Tree………………………………………………………….25. VII.

(10) 4.4 Recognition…………………………………………………………………….28. CHAPTER 5 - Simulation and Performance…………………………33 CHAPTER 6 – Conclusion & Future Work…………………………..39 APPENDICIES…………………………………………………………41 Appendix A. Type 0 Tag Protocol State Diagram……………………..42 Appendix B. Simulation Pseudo Code………………………………...43 References………………………………………………………………48. VIII.

(11) LIST OF TABLES. Table 1.1: Comparison of Slotted ALOHA and the Binary Tree Method……………11 Table 2.1: 64-Bit EPC Structure………………………………………………………12 Table 2.2: Full Communication Architecture, Source from Class 0 Tag Protocol Specification………………………………………………………………14 Table 3.1: Communication between the reader and the tags under the QT Protocol...21. IX.

(12) LIST OF FIGURES. Figure 1.1: Taipei Smart Card and Reader……………………………………………..2 Figure 1.2: The Smart Dust Chip……………………………………………………….4 Figure 1.3: The Lego Robot with an RFID system……………………………………..7 Figure 1.4: RFID Operation…………………………………………………………….8 Figure 2.1: Tags Send Bit Streams to the Reader……………………………………..14 Figure 2.2: Tag Tree State Diagram…………………………………………………...17 Figure 2.3: Representation of EPC as a Binary Tree………………………………….18 Figure 3.1: The Query Tree for Table 3.1……………………………………………..21 Figure 3.2: Pre-Registered Phase 1……………………………………………………26 Figure 3.3: Pre-Registered Phase 2……………………………………………………26 Figure 3.4: Pre-Registered Phase 3……………………………………………………26 Figure 3.5: Pre-Registered Phase 4……………………………………………………27 Figure 3.6: Pre-Registered Phase 5……………………………………………………27 Figure 3.7: Pre-Registered RFIDs on Efficient Prefix-Tree…………………………..28 Figure 3.8: Recognition Phase 1………………………………………………………30 Figure 3.9: Recognition Phase 2………………………………………………………30 Figure 3.10: Recognition Phase 3……………………………………………………..30. X.

(13) Figure 3.11: Recognition Phase 4……………………………………………………..31 Figure 3.12: Recognition Phase 5……………………………………………………..31 Figure 3.13: Recognition Phase 6……………………………………………………..32 Figure 3.14: Algorithm Comparison: 64 bits tag – Bits……………………………….34 Figure 3.15: Algorithm Comparison: 96 bits tag – Bits……………………………….34 Figure 3.16: Algorithm Comparison: 128 bits tag – Bits……………………………...35 Figure 3.17: Standard Deviation: 64 bits tag………………………………………….35 Figure 3.18: Standard Deviation: 96 bits tag………………………………………….36 Figure 3.19: Standard Deviation: 128 bits tag………………………………………...36 Figure 3.20: Algorithm Comparison: 64 bits tag – Time……………………………...37 Figure 3.21: Algorithm Comparison: 96 bits tag – Time……………………………...37 Figure 3.22: Algorithm Comparison: 128 bits tag – Time…………………………….38. XI.

(14) 1. CHAPTER 1 INTRODUCTION 1.1 RFID Problem Definition Every product has a unique identification code (seen as a string of binary digits), known traditionally as a bar code [1] because it is printed with woven black and white lines. Usually, is it placed on the back of a product. In the past, it was necessary to scan products one by one to record information about usage or the number of items in stock. Now, to reduce the scanning time, we need to be able to recognize multiple products with only one scan. To this end, we implement a wireless technique called radio frequency identification (RFID), which allows multi-access. Our objective is twofold. First, we must ensure that the system can recognize every product without loss of information. Second, we need to improve the recognition (scanning) speed. In this thesis, we take Easy Card (issued by Taipei Smart Card Corporation) as an example of RFID, where the reader takes 0.4 seconds to scan a card. Information is lost if the card is moved over the reader in less than 0.4 seconds; therefore, we have to reduce the time required for recognition..

(15) 2. Our method pre-registers the tags to build a prefix-tree, later the reader can apply the prefix-tree to do recognition. When the recognition time decreases, the efficiency increases. Further, we can use this efficient RFID system on business application. For example, the cashier in the markets or the convenient stores, our system can quickly recognize the products in a basket. Beyond, in the supply chain this system can immediately check the goods information like quantity.. Figure 1.1: Taipei Smart Card and Reader. 1.2 The Benefits of Character on RFID Although RFID technology has been in use for over a decade, in recent years, it has been further developed and used in a variety of applications because of its superior characteristics. The technology has the following major advantages:.

(16) 3. z. Contactless in a wireless environment RFID does not require physical contact between the reader and the tag.. Unlike traditional bar code systems, RFID can work at wide angles and from various distances. z. The tag can be small and the shape can varied to suit the needs of the application. Frequently, the RFID tag is a card, such as the Taipei Smart Card, but it can. also be made as a chip for a cube. The shape can be varied to suit different purposes. Because the tag can be very small, S.J. Pister [2] proposed the smart dust project, while J. Suh [3] found that combining smart dust and RFID technology allows fast, easier access to data and information in a digital domain [Figure 1.2].. Figure 1.2: The Smart Dust Chip [2].

(17) 4. z. The tag is battery-less In this thesis, we consider the passive tag, which only needs a small amount. of power, and that is provided by the reader. In other words, a tag does not have an embedded battery, so it is activated when it enters the reader’s RF field. z. Less memory on tag The tag’s memory only stores essential information, namely, the ID. The. reader simply reads the ID and forwards it to server for more information. z. Low cost of IC and antenna Every year, the market for RFID grows and the cost of electronic materials. decreases. This facilitates the spread of RFID technology. z. Long life and durability Unlike traditional bar codes, tags can still be read in poor conditions. Even in. a dirty/dusty environment or harsh weather, the RFID reader can still read the ID clearly. z. Multiple-access can save recognition time When there are multiple items to be scanned, the RFID reader can access all. the tags simultaneously. In contrast, traditional bar code readers must scan the codes one by one..

(18) 5. 1.3 RFID Application Field Because of the above advantages and the obvious efficiency of RFID technology, research into new applications is increasing worldwide. In Taiwan, the government agencies across areas as diverse as transportation, economics, agriculture, education, health and culture have already provided funding of over NTD 100 million for various RFID projects [4]. The MOEA Department of Industrial Technology increased R&D subsidies to NTD 100 million in 2006. The international research and consulting firm SRI Consulting Business Intelligence estimates that the direct global production value of RFID will reach USD 3 billion by 2008. Next, we consider some RFID applications. z. Smart Card In Taiwan, the Easy Card is generally used to pay for transportation, such as. the MRT, buses, and taxis. There will be more applications for the smart card in the future. z. Theft Prevention Generally we would see the guard machine put in the market door, the. machine would guard goods moved over it. Previous the tag was used for attaching on expensive items, now the RFID technology makes everything been.

(19) 6. guarded ubiquitously. z. Object Record and Supply Chain Some research has focused on monitoring the movement of objects. The. scale can be distinguished into different goals. One approach combines RFID tags and web services to locate the location of objects [5]. For instance, the object-record system can be used in a refrigerator to record when items were removed, or to display information when food has passed the “use by” date. On a much larger scale, in the supply chain, Wal-Mart now requires all of its suppliers to use RFID tags on their products because of the huge cost savings that can be made [6]. z. Security This application is utilized in buildings , where people need a card to gain. access. Some schools provide RFID for children care; it alarms teachers when children approach some places that are under construction. Some countries like the US government now processes E – Passports (Electronic Passports) [7] and the US Department of Defense works RFID to prevent terroristic attack [8]. z. Health care A project called SISARL (Sensor Information Systems for Active Retirees. and Assisted Living) in Taiwan helps elderly people get immediate attention in an.

(20) 7. emergency [9]. Another research project related to finding object operates on a Lego robot [10]. This application can also be used by elderly people to help them locate objects they have mislaid [Figure 1.3].. Figure 1.3: The Lego Robot with an RFID system [10].

(21) 8. 1.4 Operation of an RFID System. Figure 1.4: RFID Operation [25] In this section we describe the operation of an RFID system. The wireless technology can be divided into three primary components: the tag, the reader, and the server [Figure 1.4]. The tag is actually attached to the object, and only stores essential information, namely, the product’s unique ID. The reader then reads the ID, which is like an index associated with its detailed information in the server. The second component in the physical layer is the reader, which scans the ID on.

(22) 9. the tag and communicates to the server. The server will do some applications according to the ID. The reader’s protocol [11] specifies the interaction between reader and server. The server, in contrast to the tag and the reader, has a large memory and powerful computational ability. It performs various application softwares. Some ones called middleware, they perform diverse utilizations between the reader and the tag.. 1.5 Collision Discussion Here, we focus on the interaction between the tag and the reader. In a supermarket, when multiple items with tags are put in a shopping basket and given to the cashier, the reader should be able to recognize all the items simultaneously. At this time, the tags attached to items would simultaneously contend to transmit data to reader. The RFID system should be able to prevent information loss during the identification process. If information is lost, it is called a collision. There are two scenarios in which collisions can occur. The first is when readers interfere with each other. If the readers scan the same tag repeatedly, there will be data overlap within system; otherwise, conversely, if the readers decide not to read the same tag, errors will be made. This condition arises when readers are positioned too close together and they interfere with one another’s operation. The MIT Auto-ID Center.

(23) 10. proposed a colorwave algorithm to solve the problem [12]. The second frequently encountered problem is tag collision, which occurs when only one reader has to read a group of tags. While the reader asks and broadcast to those tags, the tags require to respond with self IDs simultaneously. More than one responds from the tags would make the reader confused to distinguish. So the major consideration is to make the condition that only one tag respond from RFID environment. When information is lost, costs increase. For example, if 100 items need to be identified, but one is lost, the reader has to find the lost item and scan it again. Two methods are commonly used to solve the tag collision problem. One uses slotted ALOHA, which the time domain divided into time slots. In this thesis, we investigate another method, namely, the binary tree algorithm; next chapter will specify the operation of binary tree algorithm. Table 1.1 shows the differences between slotted ALOHA and the binary tree algorithm [Table 1.1]..

(24) 11. Table 1.1: Comparison of Slotted ALOHA and the Binary Tree Method. Anti-Collision Ability. Slotted ALOHA. Binary Tree. Low. Very High Reliability. Collision Rate. High. Very Low. Effect of the Number of. More Tags Cause More. Not Much Effect. Tags. Interference and More Collisions. Identification Time. Changes with the Number of. Fixed. Tags Reader Capability. Low Computation. Smart. Cost. Cheaper. More Expensive.

(25) 12. CHAPTER 2 CLASS 0 PROTOCOL SPECIFICATION A great deal of research has been conducted on wireless communications, especially on multiple-access for broadcast channels. In this chapter, we introduce the RFID class 0 standard protocol, which is based on the binary tree anti-collision algorithm [13]. We then describe the operation of RFID.. 2.1 Description of Class 0 RFID Protocol The MIT Auto-ID Center is the source of most protocol standards and the core of various RFID systems that have been developed. The electronic product code (EPC) defines various code structures. We list three 64 – bit types in Table 2.1. With more specification, please check the EPC global Tag Data Standard [14]. Table 2.1: 64-Bit EPC Structure EPC TYPE. HEADER. DOMAIN. OBJECT. SERIAL. TOTAL. SIZE. MANAGEMENT. CLASS. NUMBER. BITS. 64 bit type 1. 2 (bits: 01) 21. 17. 24. 64. 64 bit type 2. 2(bits: 10). 15. 13. 34. 64. 64 bit type 3. 2(bits: 11). 26. 13. 23. 64.

(26) 13. This protocol’s specification is for 900 MHz class 0 RFID, and is based the binary tree scanning anti-collision protocol. It is robust in terms of contention-resolution and collision-free; hence, it is very suitable for multiple tag applications. In this specification, assumptions and properties need to be claimed. z. The multiple tags on the environment exists only one reader. z. The bit stream of tag sending to reader is bit-by-bit from MSD (Most Significant Digit).. z. The communication between the reader and the tags begins with RTF (Reader Talks First). z. Reader-to-Tag communication is amplitude modulated. z. Tag-to-Reader communication is passive backscatter (Figure 2.1)..

(27) 14. Tag Figure 2.1: Tags Send Bit Streams to the Reader. There are two phases in the full communication architecture (Table 2.2). First, the reader initiates the tags so they are ready for reading. This phase involves five stages and the reader transmits every configured signal once only for every stage. These stages are associated with the Tag protocol state, which we describe in Appendix A. Table 2.2: Full Communication Architecture, Source from Class 0 Tag Protocol Specification.

(28) 15. z. Power-up stage This stage that helps the tag’s electronics induce an internal power-on reset.. z. Reset stage The reader emits a CW signal to ensure that all tags have enough power to. decode the reset signal. z. Oscillator calibration stage This stage accomplishes the transfer of the precise reader time base to the. tag. z. Data calibration stage The tag is informed how to interpret the reader-to-tag link symbols 0, 1, and. Null. z. Global commands stage The commands are 8-bit with a one-bit parity check to instruct the tag.. In the second phase, where is the major part of the binary tree anti-collision algorithm. The tags traversal the binary tree algorithm with three states: z. Tree Start State. The binary tree algorithm starts in the tree traversal state. While the tags receive data 0 or 1 from reader and the data is matching the bit that tags last.

(29) 16. responded to reader, then the tags would respond next bit and stay in tree traversal state. z. Tree Traversal State. If the other tags receive data that does not match the bit that the tags last responded, then the tags go into a traversal mute state. In this state, when the tags receive data null, they go into the tree start state; however, if they receive data 0, 1, then ignore it. z. Traversal Mute State [Figure 2.2].. In the tree start state, when tags receive data 0, they respond to the reader with their MSDs and go into the tree traversal state. If they receive data null, they stay in the tree start state and the null count is increased; otherwise, if receive data 1 and the null count does not equal 2, they go into the traversal state..

(30) 17. Receive first bit. Data ‘null’ and Count. Tree Start. Data 1 and null count != 2. Data 0 Data 0, 1 matching. Ignoring Data 0, 1. Data ‘null’ Traversal Mute. Tree Traversal Data 0, 1 not matching. One tag is chosen singly. Figure 2.2: Tag Tree State Diagram. Figure 2.2 can be represented the EPC as a binary tree, as shown in Figure 2.3. In the example in Figure 2.3, there would appear to be a collision on the second bit; hence, tag1 continues to traverse the tree, while the others mutely wait for traversal. After tag1 has been recognized and set to the dormant, tag2 and tag3 start to traverse the tree from the root and send out their MSDs again..

(31) 18. Root Level 0 (not in tree). Level 1 MSD. Level 2. Level 3. Level 4 Level 5 0 0 0 1 0 Tag1. 0 1 0 0 0 Tag2. 0 1 1 1 1 Tag3. Figure 2.3: Representation of EPC as a Binary Tree.

(32) 19. 2.2 Some Issues The above binary tree structure guarantees that no information will be lost and that a group of tags will be recognized accurately. However, one major drawback is that every tag has to traverse the tree from the root every cycle, even it should be recognized until last bit sends out. Under this procedure, the cost of reading from the first to the last bit of each tag is expensive in terms of time..

(33) 20. CHAPTER 3 RELATED WORK The Auto-ID Center proposed a Query-Tree protocol [15]. In each round, the reader asks with a certain prefix consist of symbols 0 or 1 to ask the tags whether matching their prefix of ID; then, in the next round the reader appends 0 or 1 to be a new prefix. Under this method, if the tags respond with no collision, when there are no collisions there is only one tag and the reader recognizes it; otherwise, if collisions occur, then processing next round. A query tree is a full binary tree (a binary tree in which each node has either two nodes or no children), as shown in Figure 2.1 and Table 2.2..

(34) 21. Table 3.1: Communication between the reader and the tags under the QT Protocol ID: {000, 001, 101, 110} Round Query. Response. 1. ε. Collision. 2. 0. Collision. 3. 1. Collision. 4. 00. Collision. 5. 01. No Response. 6. 10. 101. 7. 11. 110. 8. 000. 000. 9. 001. 001. No Tag 101. 000. 001. Figure 3.1: The Query Tree for Table 3.1. 110.

(35) 22. Choi, Cha, and Kim proposed a modified bit-by-bit binary-tree algorithm [16]. The thinking is that there are two tags whose ID bits are the same but the last bits are not, if the reader recognizes the two tags would collide at last bits; in this case the reader can identify two tags simultaneously without making a further request. Chaudhary and Nanjundaiah considered drawback whereby every reading cycle has to be repeated from the root to the traversal the tree. They proposed two components to modify the binary tree algorithm, namely, the conflict bit pointer and the conflict count. When a collision occurs, the conflict bit pointer records the position of the bit where the collision occurs, and the conflict count increases by one. Once a tag has been recognized, in the next cycle, it starts traversing the tree from the last position recorded by the conflict bit pointer. Hence, tags do not have to traversal the tree from the root every cycle..

(36) 23. CHAPTER 4 EFFICIENT PREFIX-TREE ALGORITHM 4.1 Description of the Prefix-Tree Algorithm The 900MHz Class 0 Protocol Standard implements a binary tree anti-collision algorithm to prevent information loss. It reads the whole ID code for recognition purposes. We follow the architecture in the Class 0 Protocol Standard, but modify the algorithm that interacts with the reader and the tag. To reduce the recognition time, we improve the binary tree to form a prefix-binary tree. In the first step, tags to be recognized are pre-registered in the prefix-tree, after which, they traversal the tree for recognition. When the tags containing the IDs require to be recognized, we operate the prefix-tree for performing recognition. Our approach does not need to read the whole ID code; it only receives the parts of the code that identify the tag.. 4.2 Structure of the Prefix-Tree The prefix-tree structure can divide into three parts. We use the leaves to store the IDs of the tags. The root and the internal nodes store the control information of the prefix-tree. The control information can decide the growth of prefix-tree and the.

(37) 24. direction of the recognition process. When there are two registered tags, there must have one internal node which split them into two leaves. The basis of split is collision bit position which is stored in each internal node. To determine the number of registered tags, the root and each node have counters to record respectively. In recognition process, the back-track pointer would indicate the node which ever had a collision. „. Root ¾. Does not register tag. ¾. Use a counter to record the number of registered tags of the left and right sub-trees respectively. ¾ —. Record the collision bit position as 1. Collision bit position: two different IDs should have first different bits from MSD, where is collision bit position z. Internal Node ¾. Does not register tag. ¾. Use a counter to record the number of registered tags of the left and right sub-trees respectively. ¾. Record the collision bit position.

(38) 25. z. Leaf ¾. One leaf register one tag. 4.3 Building a Prefix-Tree In this section we describe the construction of the prefix-tree. Note that the collision bit position, the prefix-tree uses it to decide the growth. Here are the definition of building a prefix-tree. z. Tags are registered one by one.. z. The prefix-tree starts from the root. z. Root and internal node has to record the number of tags registered on the left and right sides of the sub-tree.. z. Each leaf can only register one tag. z. When a tag needs to be registered, it passes through the registered path of the nodes, to find the collision bit position. According to the collision bit position, we put the registered tag(s) belonging to the node into the left sub-tree if the collision bit is 0, and into the right sub-tree if it is 1.. In Figure 3.9, four tags are registered in the prefix-tree, three on the left and one on the right of the root. The procedure for generating a prefix-tree is as follows:.

(39) 26. 1.. The tree begins at the root and every node, including the root, has three parameters: < Left tag counter, Right tag counter, collision bit position >, where tag counter is the number of tags registered as belonging to the node. The collision bit position of the root is default 1.. Figure 3.2: Pre-Registered Phase 1. 2.. The first tag, tag1, is registered and the data 0 at the first bit lets the Left tag counter increase to 1.. Figure 3.3: Pre-Registered Phase 2. 3.. Tag1 is registered to node1 of the left sub-tree because of the first bit is 0.. Figure 3.4: Pre-Registered Phase 3.

(40) 27. 4.. When tag2 is due to register, as the data is 0 at the first bit, the Left tag counter of the root, and the Left tag counter and Right tag counter of node1 all increase to 1. The collision bit position of node1 is 2.. Figure 3.5: Pre-Registered Phase 4. 5.. Based on the collision bits, tag1 is added to node3 for data 0 and tag2 is added to node4 for data 1.. Figure 3.6: Pre-Registered Phase 5.

(41) 28. 6.. We add tag3 and tag4 according to the above steps to obtain the tree shown in Figure 3.7.. Figure 3.7: Pre-Registered RFIDs on an Efficient Prefix-Tree. 4.4 Recognition Next, we’ll explain how the prefix-tree recognizes tags. In this process we add a back-track pointer, which can avoid reading repeatedly from root after a tag was recognized. z. During the traversal procedure, each node only expects the bits at its recorded collision bit position. It ignores bits received before until the bit at the recorded collision bit position.. z. The prefix-tree uses a back-track pointer to record the current traversal node when a collision occurs..

(42) 29. z. When collision occurred, the node whose registered tag counter of both sub-trees are the same as one. In this case the reader can recognize them simultaneously.. z. Traversaling to the sub-tree of fewer tags which compared by left and right tag counter.. z. If the tag counter of the left and right sub-trees are equal, we consider which sub-tree has the lowest level node to traversal. This thinking we want to quickly reduce the interference of signals transmitted from tags simultaneously.. z. When one sub-tree is traversaling, the tags of the other sub-tree must be put on hold till called for remaining.. z. If back-track pointer(s) exist(s) when one tag recognized completely, hop to the node indicated by closest back-track pointer; otherwise, the recognition process finishes.. z. When the process goes back to the node indicated by back-track pointer, read next bit and goes to next node.. Here, we use the prefix-tree in Figure 3.7 to recognize tag2, tag3, and tag4. Assume that tag1 is not in the field for recognition..

(43) 30. 1.. A collision occurs at the first bit of the root.. Figure 3.8: Recognition Phase 1 2.. We select the least registered tag on the right of the sub-tree and make tag2 and tag3 hold; and create Back-Track Pointer1 to record the collision node.. Figure 3.9: Recognition Phase 2 3.. Tag4 is registered by node2, which recognizes it. Tag4 then goes dormant.. Figure 3.10: Recognition Phase 3.

(44) 31. 4.. Hops to root with Back-Track Pointer1 and calls tag2 and tag3 for remaining. Node1 expects the collision bit position at the second bit, but there is no collision. Hence, it continues traversaling the tree to node4.. Figure 3.11: Recognition Phase 4. 5.. Node 4 expects the collision bit position at the fourth position; therefore, it does not consider the third bit. While it is at the fourth bit, a collision occurs.. Figure 3.12: Recognition Phase 5.

(45) 32. 6.. Here is a collision on node4 and the both sub-trees’ registered tag counter are the same one, and then the reader recognizes tag2, tag3 simultaneously.. Figure 3.13: Recognition Phase 6.

(46) 33. CHAPTER 5 SIMULATION AND PERFORMANCE We simulate applications of the binary tree algorithm of the standard protocol and our efficient prefix-tree algorithm. This simulation is wrote by JAVA. The tag IDs are generated by uniform distribution. This simulation use the IDs to pre-register the tags to build a prefix-tree. We consider the recognition result of the number of bits transmitted and the spending time in each number of tags. Each set of tags is implemented 100 times and the results are averaged. Figures 3.14, 3.15, and 3.16 show the performance of number of bits transmitted for each set of tags. Figures 3.17, 3.18, and 3.19 are the standard deviation of Figure 3.14, 3.15, and 3.16. The times are based on Table 2.2 Full Communication Architecture. z. Reset time: 800 μs. z. Oscillator calibration: 1024 μs. z. Data Calibration: 41.75 μs. z. The commands are skipped. z. Each bit take 12.5 μs for transmission. z.

(47) 34. Figures 3.20, 3.21, and 3.22 show the performance of spending time for each set of tags. This simulation compares 64-bit, 96-bit, and 128-bit tags respectively.. Figure 3.14: Algorithm Comparison: 64-bit tags - Bits. Figure 3.15: Algorithm Comparison: 96-bit tags – Bits.

(48) 35. Figure 3.16: Algorithm Comparison: 128-bit tags - Bits. Figure 3.17: Standard Deviation: 64 bits tag.

(49) 36. Figure 3.18: Standard Deviation: 96 bits tag. Figure 3.19: Standard Deviation: 128 bits tag.

(50) 37. Figure 3.20: Algorithm Comparison: 64 bits tag – Time. Figure 3.21: Algorithm Comparison: 96 bits tag - Time.

(51) 38. Figure 3.22: Algorithm Comparison: 128 bits tag – Time.

(52) 39. CHAPTER 6 CONCLUSION & FUTURE WORK The simulation results demonstrate the the major difference between the binary tree and the prefix-tree algorithm. The binary tree does not register tags in advance; instead, it recognizes them one-by-one and bit-by-bit until all the bits of each tag have been transmitted. In contrast, our algorithm pre-registers tags to build a prefix-tree and then recognizes multiple tags through the prefix-tree. This algorithm can ignore the bits transmitted from MSD, even does not require to read till last bit transmitted. We base on anti-collision and speed up the recognition time. Therefore the applications of RFID system like the supply chain of warehouse management will reduce the cost because there is more time for more work. The prefix-tree could have various shapes based on different distributions. The distribution is comprised of a population of leaves, each of which is a tag saved with a unique ID code. Since code generation affects the distribution directly, we have to determine which distribution would make the prefix-tree more efficient. Now in our approach the process chooses the sub-tree by fewer registered tag counter, to reach more efficiency we will estimate how many bits are required to transmit in each sub-tree. The process will choose the sub-tree based on fewer transmitted bits..

(53) 40. When there are un-registered tags put together with registered tags, our system can also operate with binary tree algorithm. The performance will decrease at first time to register the un-registered tags in the prefix-tree. After we will do more research on this un-registered tag problems..

(54) 41. APPENDICES.

(55) 42. APPENDIX A. Type 0 Tag Protocol State Diagram. Source from MIT Auto-ID Center.

(56) 43. APPENDIX B. Simulation Pseudo Code. ‧ Pseudo code for registering tag: receive tag ID bit-by-bit, IF bit 0 THEN - IF on root & No tag registered on left leaf & No left internal node THEN register the tag into left leaf left tag counter +1 END REGISTER - IF on root & with tag registered on left leaf THEN next bit & goes into left leaf - IF on root & with left internal node THEN next bit & goes into left internal node - IF on internal node THEN - select a registered tag under this internal node and search the collision bit position - IF find a collision bit position is small than record one THEN put the tag into left leaf & re-register the tags under.

(57) 44. this internal node & left tag counter +1 END REGISTER ELSE THEN receive next bit & goes into left internal node or leaf - IF on leaf THEN - search the collision bit position - create a internal node which record the tag counter and collision bit position - according to collision bit, put the tag into left leaf of the created internal node if bit 0, into right if bit 1 END REGISTER. receive tag ID bit-by-bit, IF bit 1 THEN - IF on root & No tag registered on right leaf & No right internal node THEN register the tag into right leaf right tag counter +1 END REGISTER - IF on root & with tag registered on right leaf THEN next bit & goes into right leaf.

(58) 45. - IF on root & with right internal node THEN next bit & goes into right internal node - IF on internal node THEN - select a registered tag under this internal node and search the collision bit position - IF find a collision bit position is small than record one THEN put the tag into right leaf & re-register the tags under this internal node & right tag counter +1 END REGISTER ELSE THEN receive next bit & goes into right internal node or leaf - IF on leaf THEN - search the collision bit position - create a internal node which record the tag counter and collision bit position - according to collision bit, put the tag into left leaf of the created internal node if bit 0, into right if bit 1 END REGISTER.

(59) 46. ‧ Pseudo code for recognizing multiple tags: In prefix-tree, start from root, receive bits from tags THEN - IF current bit position of tags smaller than collision bit position of current traversaling node THEN tags transmit next bits - IF current bit position of tags equal to collision bit position of current traversaling node THEN case1 receive both bit 0 & 1, collision THEN - create a back-track pointer to indicate the collision node - traversal to the sub-tree of less registered tag counter UNLESS the two counters of left & right sub-tree are equal THEN select the sub-tree which has the tag of lowest level close to current node UNLESS the levels are equal THEN select left sub-tree WHEN select a sub-tree THEN -the tags of another sub-tree would hold till call for remaining -IF next node of selected sub-tree is leaf THEN.

(60) 47. recognize the registered tag back to the node with back-track pointer if exist ELSE THEN receive next bit & go to left child node case2 receive only bit 0 THEN IF left child node is leaf THEN recognize the registered tag back to the node with back-track pointer if exist ELSE THEN receive next bit & go to left child node case3 receive only bit 1 THEN IF right child node is leaf THEN recognize the registered tag back to the node with back-track pointer if exist ELSE THEN receive next bit & go to right child node.

(61) 48. REFERENCES.

(62) 49. [1] “Barcode Standard”, Chinese version, http://www.wuqueqiao.net/club/uploadfile/barcode/barcode_standard.pdf [2] “Smart Dust: communicating with a cubic-millimeter computer”, Brett Warneke, Matt Last, Brian Liebowitz, Kristofer S.J. Pister, IEEE JNL, JAN 2001 [3] “Smart Dust and RFID Technology Smart Dust and RFID Technology: Solutions for Business and Industry”, John Suh, RFIG SIG Feb23 2005 [4] “U Taiwan: RFID called second IT revolution”, Department of Investment Services, MOEA, April 29, 2005, http://investintaiwan.nat.gov.tw/en/news/200504/2005042902.html [5] “Smart Identification Frameworks for Ubiquitous Computing Applications”, KAY RÖMER*, THOMAS SCHOCH, FRIEDEMANN MATTERN, THOMAS DUBENDORFER, CH-8092 Zurich, Switzerland, Wireless Networks, Springer 2004 [6] A notification of Wal-Mart to supplier, http://www.1sync.org/documents/Retailers/Wal-Mart/Data%20Sync%20Supplier%20L etter%202006.pdf [7] “The U.S. Electronic Passport”, http://travel.state.gov/passport/eppt/eppt_2498.html [8] “United States Department of Defense Suppliers’ Passive RFID Information Guide”, United States Department of Defense,.

(63) 50. http://www.acq.osd.mil/log/rfid/supplierguide.htm, October 23, 2006 [9] “Sensor Information System for Active Retirees and Assisted Living (SISARL)”, Academia Sinica, National Taiwan University, National Tsing-Hua University and National Chao-Tung University in Taiwan, http://www.sisarl.org/ [10] ” Spreading Pheromones in Everyday Environments through RFID Technology”, Marco Mamei, Franco Zambonelli, DISMI – Università di Modena e Reggio Emilia, Proceedings of the 2nd IEEE Symposium on Swarm 2005 [11] “Reader Protocol Standard, Version 1.1”, EPCglobal, http://www.epcglobalinc.org/standards/, June 21, 2006 [12] “Colorwave: An Anticollision Algorithm for the Reader Collision Problem”, James Waldrop, Daniel W. Engels, Sanjay E. Sarma, MIT Auto-ID Center, Communications, ICC '03. IEEE International Conference [13] “Draft Protocol Specification for a 900MHz Class 0 Radio Frequency Identification Tag”, MIT Auto-ID Center, 23 Feb 2003, http://www.epcglobalinc.org/standards/specs/ [14] “EPCglobal Tag Data Standards Version 1.3”, EPCglobal, http://www.epcglobalinc.org/standards/, March 8, 2006 [15] “Efficient Memoryless Protocol for Tag Identification”, Ching Law, Kayi Lee, Kai-Yeung Siu, MIT Auto-ID Center, October 2000, http://auto-id.mit.edu/.

(64) 51. [16] ” Fast wireless anti-collision algorithm in ubiquitous ID system”, Ho-Seung Choi, Jae-Ryon Cha, Jae-Hyun Kim, Vehicular Technology Conference, 2004. VTC2004-Fall. [17] “EPC Radio-Frequency Identity Protocols Class 1 Generation 2 UHF RFID Protocol for Communications at 860 MHz – 960 MHz Version 1.0.9”, EPCglobal Inc [18] “Anti-collision and Transponder Selection Methods for Grouped ‘Vicinity” Cards and RFID tags”, Peter Hawkes, RFID Technology (Ref. No. 1999/123), page 7/1-7/12 [19] “Electronic Privacy Information Center”, EPIC, http://www.epic.org/privacy/rfid/ [20] “Security Analysis of a Cryptographically-Enabled RFID Device”, Stephen C. Bono, Matthew Green, Adam Stubblefield, Aviel D. Rubin, Ari Juels, Michael Szydlo, The Johns Hopkins University, RSA Laboratories, 14th USENIX Security Symposium, 2005 [21] “RFID 技術與應用”, Originally published in Japan by Nikkei Business Publication ,Inc., Chinese Traditional Language edition published by Flag Ublishing CO. TD, 2004 [22] ” A Prefix Tree Base Approach for Mining Surprising Patterns Efficiently”, Hsiao-Hung Lin, NTNU ICE, Master Thesis, June 2006 [23] “Poster Abstract: Analysis of RFID anti-collision algorithms using smart antennas”, Jeongkeun Lee, Sajal K. Das, Kyung-ah Kim, Proceedings of the 2nd.

(65) 52. international conference on Embedded networked sensor systems 2004 [24] “PAT-tree-based keyword extraction for Chinese information retrieval”, Lee-Feng Chien, Institute of Information Science, Academia Sinica, Taipei, Taiwan, ACM SIGIR 1997 [25] “RFID Operation”, http://www.idteck.com/technology/rfid.jsp.

(66)

參考文獻

相關文件

Incorporated Management Committees should comply with the terms in this Code of Aid and abide by such requirements as promulgated in circulars and instructions issued by the

(b) The Incorporated Management Committee may approve leave of various kinds to teaching and non-teaching staff employed under the Salaries Grant, paid or no-pay, in

(ii) “The dismissal of any teacher who is employed in the school – (a) to occupy a teacher post in the establishment of staff provided for in the code of aid for primary

(ii) “The dismissal of any teacher who is employed in the school – (a) to occupy a teacher post in the establishment of staff provided for in the code of aid for primary

• Definition: A max tree is a tree in which the key v alue in each node is no smaller (larger) than the k ey values in its children (if any). • Definition: A max heap is a

Given a graph and a set of p sources, the problem of finding the minimum routing cost spanning tree (MRCT) is NP-hard for any constant p &gt; 1 [9].. When p = 1, i.e., there is only

Input domain: word, word sequence, audio signal, click logs Output domain: single label, sequence tags, tree structure, probability

Input domain: word, word sequence, audio signal, click logs Output domain: single label, sequence tags, tree structure, probability distribution.