1 / 34

Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype

Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype. Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan Oracle New England Development Center One Oracle Drive, Nashua, NH 03062. Talk Outline. Background A Bitmap Datatype Applications

kassia
Télécharger la présentation

Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan Oracle New England Development Center One Oracle Drive, Nashua, NH 03062

  2. Talk Outline • Background • A Bitmap Datatype • Applications • Implementation • Performance Study • Conclusions

  3. Background

  4. Radio Frequency Identification • RFID uses radio frequency to automatically detect and identify individual items, which have RFID tags associated with them. • RFID technology is increasingly being used in applications such as • Asset Tracking, • Supply Chain Management, and • Retail Management.

  5. Electronic Product Codes (EPCs) • EPC is a standard naming scheme proposed by Auto-Id Center for RFID applications. • An EPC uniquely identifies an item. It contains <Header, Manager No., Object Class, Serial No.> • The header identifies the format of the EPCtype, the next two components identify the product, whereas the last component uniquely identifies the item within the product.

  6. Item Tracking • RFID Technology enables item tracking applications • However, there is a need for efficient mechanism for managing the high volume of item tracking information.

  7. A Bitmap Type for Item Tracking • Key Observation: RFID Items can be efficiently tracked by tracking the groups to which an item belongs. For example • Groups of items in the same proximity: e.g. on a shelf, on a shipment • Groups of items with same property: e.g. items of a single product, items of a single product with same expiry date • Our Solution: Use a bitmap type for modeling a collection of EPCs that can occur in item tracking applications.

  8. A Bitmap Datatype

  9. With EPC Collections With epc_bitmaps Example: Product Inventory

  10. A new type to represent a collection of EPCs with a common prefix CREATE TYPE epc_bitmap_segment ( epc_length NUMBER, epc_suffix_length NUMBER, epc_prefix RAW, epc_suffix_start RAW, epc_suffix_end RAW, epc_suffix_bitmap RAW ); epc_bitmap type to represent a collection of EPCs CREATE TYPE epc_bitmap IS TABLE of epc_bitmap_segment; epc_bitmap Datatype

  11. epc_bitmap_segment Datatype Header EPC_Manager Object_Class Serial_Number 2-bits 21-bits 17-bits 24-bits 0x4AA890001F62C160 ………………………… 0x4AA890001FA0B38E

  12. epc_bitmap Operations • Conversion Operations epc2Bmap, bmap2Epc, and bmap2Count • Pairwise Logical Operations bmapAnd, bmapOr, bmapMinus, and bmapXor • Maintenance Operations bmapInsert and bmapDelete • Membership Testing Operation bmapExists • Comparison Operation bmapEqual

  13. Applications

  14. Applications: Shelf Analytics • Determine the items added to a shelf between time t1 and t2 SELECT bmap2Epc(bmapMinus(s2.item_bmap, s1.item_bmap)) FROM Shelf_Inventory s1, Shelf_Inventory s2 WHERE s1.shelf_id = <sid1> AND s1.shelf_id = s2.shelf_id AND s1.time=<t1> AND s2.time=<t2>; Shelf_Inventory

  15. Applications: Product Recall • Identify the stores that currently have recalled items SELECT Store_id FROM Product_Inventory P WHERE bmap2Count(bmapAnd(P.Item_bmap, epc2Bmap(<recall_items>))) > 0 AND P.Product_id=<recall_product_id> AND P.Time = <current_time>; Product_Inventory

  16. Implementation

  17. Implementation • Leverages Oracle’s Bitmap Index Implementation • Uses G. Antoshenkov’s “Byte Aligned Data Compression” for creation and operation of bitmaps for rowid collections. • A collection of EPCs is grouped into different epc_bitmap_segments, • When the previous epc_suffix_bitmap (maximum size of RAW = 2000) can not hold any more EPCs • When epc_prefixes are different

  18. Persistent epc_bitmap • Stored in a primary B+-tree structure primary B+-tree structure primary key columns non-key columns

  19. Query Processing & Optimization • epc_bitmap function is executed per row • Queries with predicates on bitmap columns can be speeded up • Using Function-based B-tree index: On pre-computed value of bmap2Count(bmap_col) SELECT S.shelf_id FROM Shelf_inventory S WHERE bmap2Count(S.item_bmap) > 0 ; • Using Summary Bitmap Index

  20. Summary Bitmap • Specialized index structure to speed up query to detect the presence of an epc identifier SELECT s.shelf_id, s.time FROM Shelf_Inventory s WHERE bmapExists(s.item_bmap, <epc1>); • Create a summary bitmapsbmapusing OR operation on{bmap1, …, bmapk}: bmapExists(sbmap)  i  1…k: bmapExists(bmapi)

  21. Summary Bitmap Index Structure EPC Bitmap column A Summary Bitmap Tree root node Bmp1 Bmp2 … branch nodes … leaf nodes … <Bmp1,rowid1> … <Bmpn,rowidn> Bmpn Table

  22. Summary Bitmap Index Algorithm DFS(X, epc): X: a node in the tree index; epc: a given epc; bmp(X): the epc_bitmap associated with node X; if ( bmapExists(bmp(X), epc)== TRUE) { if (X == leaf node) report bmp(X); else for each child node V of X do DFS(V, epc); } Complexity:O(1) , no candidate O(m log N), m: fan-out, N: no. of rows

  23. Performance Study

  24. Experimental Setup • Data represents EPC-64 collections, which are randomly generated with a uniform distribution • Data sampled every hour for 30 days(720 obs.), 300 days (7200 obs) and 3000 days (72000 obs). • EPC collections of size 100000, 10000 and 1000 represent typical number of items in department and/or shelf

  25. Storage Comparison

  26. Bulk Load Performance

  27. Query 1: Enumerate Removed Items • Enumerate the items removed from a shelf between 2 time intervals Collection Type Query SELECT b.epc_value FROM epc_coll a, TABLE(a.epcs) b WHERE a.time = '2004-03-04 10:00 AM' MINUS SELECT b2.epc_value FROM epc_coll a2, TABLE(a2.epcs) b2 WHERE a2.time = '2004-03-04 11:00 AM'; epc_bitmap Type Query SELECT * FROM TABLE( SELECT bmap2Epc(bmapMinus(p1.epcs,p2.epcs))  FROM epc_bmp p1, epc_bmp p2 WHERE p1.time = '2004-03-04 10:00 AM' AND p2.time = '2004-03-04 11:00 AM');

  28. Query 1: Enumerate Removed Items

  29. Query 1 with Variant Datasets

  30. Query 2: Report All Observations • Report all observations when a given EPC was present Collection Type Query SELECT a.time FROM epc_coll a WHERE EXISTS(SELECT 1 FROM TABLE(a.epcs) b WHERE b.epc_value = ‘400003000300052A’); epc_bitmap Type Query SELECT time FROM epc_bmp WHERE bmapExists(epcs, ‘400003000300052A’);

  31. Query 2: Report All Observations

  32. Performance Discussion • Storage savings of 2 to 8 times due to compressed bitmaps • Bulk load performance faster due to smaller storage needs • For collections of size > 1000, query performance gains of 10% to 1200% • For smaller collection sizes, performance is same as native collections

  33. Conclusions • epc_bitmap can model transient and persistent EPC collections • epc_bitmap can be used to support RFID-based item tracking applications • An efficient primary B+-tree based storage and access mechanism • Performance experiments validate the feasibility and benefits of the epc_bitmap • Support can be extended to Row Identifier (rowid) and Life Science Identifier (LSID) collections

  34. Q & Q U E S T I O N S A N S W E R S A

More Related