摘要:依據(jù)RFID網(wǎng)絡(luò)特征和行為的形式化描述,基于發(fā)布/訂閱系統(tǒng)構(gòu)建了RFID網(wǎng)絡(luò)模型。RFID網(wǎng)絡(luò)是構(gòu)建在IP網(wǎng)絡(luò)層之上的重疊網(wǎng),借助代理(broker)的消息存儲轉(zhuǎn)發(fā)、匹配和路由機制,實現(xiàn)閱讀事件的多對多異步通信,閱讀事件與應(yīng)用之間無須預(yù)先確定相關(guān)關(guān)系。實驗驗證了這種網(wǎng)絡(luò)模型的有效性,可以滿足將來大規(guī)模泛在RFID應(yīng)用的需求。
關(guān)鍵詞:視頻識別網(wǎng)絡(luò);發(fā)布訂閱系統(tǒng);消息中間件;通信
中圖分類號:TP393文獻標(biāo)志碼:A
文章編號:1001-3695(2008)04-1218-04
RFID問世以來,其研究主要集中在RFID標(biāo)簽和閱讀器硬件領(lǐng)域,包括低成本的RFID標(biāo)簽和閱讀器、多標(biāo)簽碰撞、閱讀器碰撞問題以及數(shù)據(jù)可靠性等。隨著RFID的應(yīng)用普及,研究人員發(fā)現(xiàn),RFID的成功應(yīng)用不僅需要低價的標(biāo)簽和閱讀器,也依賴于合適的網(wǎng)絡(luò)架構(gòu)[1]。近年來,RFID網(wǎng)絡(luò)構(gòu)架開始受到研究人員的重視[1~5]。大規(guī)模泛在應(yīng)用的RFID網(wǎng)絡(luò)將各種閱讀器和應(yīng)用連接在一起,通過網(wǎng)絡(luò)為應(yīng)用提供需要的閱讀事件,統(tǒng)一規(guī)范閱讀事件語義,動態(tài)地建立應(yīng)用與閱讀器(閱讀事件)間的映射關(guān)系,從而使應(yīng)用可以動態(tài)共享網(wǎng)絡(luò)中的閱讀事件,實現(xiàn)全局范圍內(nèi)的閱讀共享和傳播。這種需求改變了傳統(tǒng)的閱讀器和應(yīng)用緊耦合、客戶端/服務(wù)器的計算模式,新型的RFID網(wǎng)絡(luò)應(yīng)當(dāng)在閱讀器與應(yīng)用之間建立松耦合、異步、匿名和多對多的動態(tài)通信關(guān)系,構(gòu)建面向應(yīng)用和服務(wù)的網(wǎng)絡(luò)構(gòu)架,以滿足大規(guī)模泛在RFID應(yīng)用的需要。
1相關(guān)研究
RFID網(wǎng)絡(luò)的研究已經(jīng)引起了學(xué)術(shù)界的關(guān)注[1~5],EPCGlobal提出了具有三層結(jié)構(gòu)的網(wǎng)絡(luò)模型[6],包括標(biāo)簽閱讀層、ALE層(application level event,應(yīng)用層事件)和應(yīng)用邏輯層。其中:ALE層旨在過濾來自不同數(shù)據(jù)源的數(shù)據(jù),并將應(yīng)用感興趣的事件路由到應(yīng)用,它提供接口來定義標(biāo)簽數(shù)據(jù)的控制和傳遞,而外部的應(yīng)用可由此獲得感興趣的標(biāo)簽數(shù)據(jù)。
UID(ubiquitous identification)是由日本學(xué)者提出的一種基于嵌入式操作系統(tǒng)的RFID網(wǎng)絡(luò)。其核心在于構(gòu)建一種泛在網(wǎng)絡(luò)構(gòu)架、各種設(shè)備和應(yīng)用接入泛在網(wǎng)絡(luò),在泛在計算環(huán)境下解決RFID各種應(yīng)用問題。
文獻[6]提出了在EPC網(wǎng)絡(luò)中引入網(wǎng)格的概念。針對泛在RFID網(wǎng)絡(luò)產(chǎn)生的大量數(shù)據(jù),提出了利用網(wǎng)格計算的強大能力處理大量的EPC數(shù)據(jù)。作者認為EPC網(wǎng)絡(luò)架構(gòu)與網(wǎng)格計算服務(wù)架構(gòu)在很多方面具有相似性,基于網(wǎng)格的RFID網(wǎng)格模型含有三個層次,即通信網(wǎng)格服務(wù)層、計算網(wǎng)格服務(wù)層以及信息網(wǎng)絡(luò)服務(wù)層。
微軟BizTalk[7]在.NET框架下實現(xiàn)了BizTalk系統(tǒng),并且試圖與RFID應(yīng)用相結(jié)合。BizTalk系統(tǒng)以發(fā)布/訂閱系統(tǒng)為基礎(chǔ),可以用來構(gòu)建面向統(tǒng)一閱讀語義的RFID網(wǎng)絡(luò),提供面向應(yīng)用的業(yè)務(wù)流程服務(wù)。本文的工作則以J2EE框架為基礎(chǔ),側(cè)重于研究統(tǒng)一語義條件下的事件訂閱和發(fā)布服務(wù),目的是為應(yīng)用提供感興趣的閱讀事件。
2問題提出
為了進一步明確RFID網(wǎng)絡(luò)中閱讀器與應(yīng)用之間的對應(yīng)關(guān)系,假設(shè):a)所有閱讀器所產(chǎn)生的閱讀均采用三元組形式表示,并具有統(tǒng)一的語義;b) RFID閱讀器不關(guān)心哪個應(yīng)用需要其產(chǎn)生的閱讀,而應(yīng)用也只關(guān)心其感興趣的RFID閱讀,任何應(yīng)用不感興趣或不再感興趣的閱讀將被限制在網(wǎng)絡(luò)中傳播;c)為了保證系統(tǒng)的正常通信,要求閱讀器產(chǎn)生的事件最終要路由到感興趣的應(yīng)用,且所有RFID閱讀在應(yīng)用需要時只能進行一次路由。在此基礎(chǔ)上,給出RFID網(wǎng)絡(luò)的通信模式。
大規(guī)模泛在應(yīng)用的RFID網(wǎng)絡(luò)通常具有定義3的通信模式。在邏輯上可以將RFID閱讀事件和應(yīng)用分別看成是通信的發(fā)送方和接收方,兩者之間的關(guān)系具有動態(tài)性和不確定。基于事件的通信模式采用接收方對特定事件的訂閱,并在網(wǎng)絡(luò)中將與訂閱匹配的事件路由到訂閱事件的接收方。與其他分布式通信模式相比,其最大的優(yōu)點是通信實體之間為一種松耦合關(guān)系。依賴這種松耦合關(guān)系可以實現(xiàn)分布式交互中各實體之間的異步獨立性,適用于多對多通信的場合。由于消除了通信方之間直接的相互依賴,大大增強了系統(tǒng)的可擴展性,同時也極大地減少了不同通信組件之間所需要的協(xié)調(diào)和同步。借助這種分布式透明性,應(yīng)用系統(tǒng)的開發(fā)工作主要集中在應(yīng)用邏輯和業(yè)務(wù)過程的集成上。
3閱讀與應(yīng)用關(guān)系模型
3.1RFID網(wǎng)絡(luò)模型
如圖1所示,RFID網(wǎng)絡(luò)由三個部分組成,即閱讀器網(wǎng)絡(luò)(或閱讀器)、RFID閱讀分發(fā)網(wǎng)絡(luò)以及RFID應(yīng)用。閱讀器網(wǎng)絡(luò)負責(zé)管理、控制、配置和發(fā)現(xiàn)閱讀器,并對原始RFID閱讀進行數(shù)據(jù)去噪、過濾(消除冗余)和平滑(消除錯誤閱讀)等處理,以獲得應(yīng)用所需的高質(zhì)量的、可靠的閱讀數(shù)據(jù)。在閱讀器網(wǎng)絡(luò)配置時,閱讀器網(wǎng)絡(luò)支持無線和有線的組網(wǎng)方式。閱讀器網(wǎng)絡(luò)控制器與閱讀器之間的通信協(xié)議可以采用reader protocol[8]以及SLRRP[9]。
RFID閱讀分發(fā)網(wǎng)絡(luò)用于建立RFID閱讀與應(yīng)用之間的對應(yīng)關(guān)系,并將RFID閱讀合理、有效地傳播給感興趣的應(yīng)用。閱讀事件從事件的生產(chǎn)者以消息的形式傳播到消費者,即由網(wǎng)絡(luò)邊緣傳向網(wǎng)絡(luò)中心。這與傳統(tǒng)網(wǎng)絡(luò)中的數(shù)據(jù)傳播方向正好相反。
基于發(fā)布/訂閱的RFID網(wǎng)絡(luò)模型由三個主要的實體組成:a)應(yīng)用,向系統(tǒng)訂閱它所感興趣的RFID閱讀;b)閱讀器網(wǎng)絡(luò)(閱讀器),RFID網(wǎng)絡(luò)中的事件源通過閱讀器對標(biāo)簽的識讀,以確定或隨機的方式產(chǎn)生RFID閱讀事件;c)事件服務(wù)網(wǎng)(可看成是代理broker網(wǎng)絡(luò))是RFID網(wǎng)絡(luò)的核心,生產(chǎn)者將閱讀事件發(fā)送到事件服務(wù)網(wǎng)絡(luò),事件分發(fā)網(wǎng)絡(luò)由代理在應(yīng)用層構(gòu)建用于閱讀事件發(fā)分的網(wǎng)絡(luò),負責(zé)將與訂閱匹配的閱讀路由到感興趣的客戶。代理可以認為是面向消息中間件(message oriented middleware)或提供消息服務(wù)的agent。通常將應(yīng)用(訂閱方)和閱讀器(發(fā)布方)統(tǒng)稱為基于發(fā)布訂閱系統(tǒng)的RFID網(wǎng)絡(luò)的客戶。
面向應(yīng)用和服務(wù)的RFID網(wǎng)絡(luò)拓撲結(jié)構(gòu)是由一系列節(jié)點V={B1,…,Bn}所構(gòu)成的無向圖G=(V,L)。其中:集合V代表了RFID網(wǎng)絡(luò)中所有的代理;集合L{(Bi, Bj)|1≤i,j≤n}代表了代理之間的互連。每個代理B均有與之相連的鄰居代理集合NB={H|l(B,H)∈L; B, H∈V},并且每個代理管理一個本地客戶集合LB。
3.2RFID事件及語義
閱讀事件是RFID網(wǎng)絡(luò)中基本數(shù)據(jù)單位,也是基本的數(shù)據(jù)通信對象。閱讀器在每個閱讀周期(兩個閱讀之間的時間間隔稱為閱讀周期(read cycle)開始和結(jié)束時,產(chǎn)生閱讀事件[9]。當(dāng)標(biāo)簽處于閱讀器的識讀范圍時,閱讀器會周期性地獲取標(biāo)簽標(biāo)志符數(shù)據(jù),并產(chǎn)生閱讀消息。典型閱讀過程如圖2所示。
定義4閱讀語義。RFID閱讀采用三元組描述,即R=〈Reader_ID, Tag_ID, TimeStamp〉。其中:Reader_ID為獲取標(biāo)簽的閱讀器;Tag_ID為標(biāo)簽中惟一的標(biāo)志符;TimeStamp為閱讀時間戳。
三元組描述了只讀標(biāo)簽的閱讀信息。隨著標(biāo)簽技術(shù)的發(fā)展,很多標(biāo)簽實現(xiàn)了可讀寫的功能。針對這種類型的標(biāo)簽,用四元組來描述RFID閱讀,即R=〈Reader_ID, Tag_ID, TimeStamp, Data〉。本文僅采用三元組來描述RFID閱讀。
由定義4可知,RFID系統(tǒng)中閱讀語義由每次閱讀的三元組惟一地確定,如果所有的閱讀器與標(biāo)簽都遵守統(tǒng)一的標(biāo)簽和閱讀器命名規(guī)則,則閱讀三元組將可以在應(yīng)用中得到惟一的解釋,從而統(tǒng)一RFID網(wǎng)絡(luò)中所有閱讀的語義,實現(xiàn)不同應(yīng)用對RFID閱讀共享。
應(yīng)用利用訂閱向網(wǎng)絡(luò)請求感興趣的閱讀事件。為了區(qū)別于閱讀事件,本文稱之為應(yīng)用事件。應(yīng)用事件通常通過以下兩種方式訂閱感興趣的事件:
a)一元訂閱。根據(jù)三元組任何一個元素進行訂閱,如Tag_ID、Time以及Reader_ID。這些類型的訂閱在實際應(yīng)用中均具有實際意義,如基于Tag_ID的訂閱,可以惟一地追蹤特定的對象;基于Time的訂閱可收集特定時間內(nèi)的對象;對于Reader_ID的訂閱可以獲得某個位置的所有標(biāo)簽信息等。
b)組合訂閱。定義兩種組合類型的訂閱,即二元素組合和三元素組合訂閱。二元素訂閱包括〈Tag_ID,Time〉,〈Tag_ID, Reader_ID〉, 〈Time,Reader_ID〉;三元素訂閱只有一種情況,即〈Tag_ID,Reader_ID,Time〉。這里不考慮元素組合順序不同有可能的差別。
定義5閱讀事件。事件是對已經(jīng)發(fā)生的任何離散狀態(tài)改變的一種表示,并可以從一個實體傳送到其他實體。RFID閱讀也可以看成是事件(event)或消息(message),包括閱讀器產(chǎn)生的原始事件以及閱讀器網(wǎng)絡(luò)控制器(reader network control, RNC)或消息中間件產(chǎn)生的經(jīng)合并、過濾后的事件。
RFID閱讀事件的產(chǎn)生可以是確定性的,也可以是隨機性的。按屬性可以分為空間事件和時間事件。前者表示在某個空間發(fā)生的事件;后者則是指某個特定時間所發(fā)生的事件。按復(fù)雜度可分為簡單事件和復(fù)合事件。其中:閱讀事件和應(yīng)用事件的復(fù)合事件可以認為是由多個單一屬性的簡單事件組合而成,如事件含有時間和空間信息。
3.3RFID網(wǎng)絡(luò)中的事件模型
事件模型為基于語義的事件、訂閱、廣告和通告內(nèi)容的表示。事件模型通常有[10,11]屬性—值對的數(shù)據(jù)結(jié)構(gòu)、XML(extensible markup language,可擴展標(biāo)記語言)以及PML (physical markup language,物理標(biāo)志語言)。無論采用何種表示方式,事件模型的一致性對于集成和開放的RFID網(wǎng)絡(luò)是極其重要的,并且直接影響著RFID網(wǎng)絡(luò)的性能。
RFID網(wǎng)絡(luò)的事件模型采用基于事件的通信模式,這種通信模式用事件通知服務(wù)的方式實現(xiàn)即為所謂的發(fā)布/訂閱系統(tǒng)。系統(tǒng)中的客戶具有兩種角色,即事件發(fā)布者和事件訂閱者。事件代理網(wǎng)絡(luò)負責(zé)對訂閱和閱讀事件的存儲、管理和轉(zhuǎn)發(fā)。由于采用發(fā)布訂閱機制,事件發(fā)布者無須明確知道事件訂閱者的具體位置。事件訂閱者也無須明確知道事件發(fā)布者的具體位置,事件發(fā)布者與事件訂閱者之間是一種松耦合關(guān)系,保證了通信過程的異步性和匿名性。
下面給出基于通告的RFID代理網(wǎng)絡(luò)特征描述:
假定某應(yīng)用X擁有處于有效狀態(tài)的RFID閱讀的訂閱集SX,網(wǎng)絡(luò)中每個代理B會把事件通告?zhèn)魉徒o所有擁有匹配訂閱的本地應(yīng)用客戶,即滿足{X|X∈LB∧F∈SXAd∈N(F)}。F表示一個訂閱;N(F)表示匹配該訂閱的所有事件通告。此外,每個代理按照路由表把事件通告轉(zhuǎn)發(fā)給NB的一個子集,代理B的路由表TB是由路由記錄(F,U )所構(gòu)成的集合,F(xiàn)表示訂閱,U表示代理B的鄰居節(jié)點。FF(xiàn)B(Ad)表示存在一條匹配特定事件通告Ad的路由記錄的代理B的鄰居集合,即{U|U∈NB∧(F,U)∈TBAd∈N(F)}。如果事件通告是由代理B的本地客戶(如閱讀器)所發(fā)布的,那么代理B就把這個事件通告轉(zhuǎn)發(fā)給在集合FF(xiàn)B(Ad)中的所有鄰居。如果代理B是從它的一個鄰居H處接收到事件通告Ad,那么代理B就轉(zhuǎn)發(fā)事件通告Ad給除了H外的所有其他鄰居。
此外,采用基于廣告或覆蓋路由可減少網(wǎng)絡(luò)負載。
4RFID網(wǎng)絡(luò)實驗研究
4.1實驗?zāi)P?/p>
本文在Narada Brokering(NB)系統(tǒng)[12]的基礎(chǔ)上構(gòu)建面向泛在RFID應(yīng)用的實驗環(huán)境。NB是一種基于發(fā)布訂閱系統(tǒng)的消息中間件。本文的實驗系統(tǒng)構(gòu)建在NB開放源代碼的基礎(chǔ)上,采用分層體系結(jié)構(gòu),并基本保留了NB系統(tǒng)的消息匹配和路由算法。實驗用RFID網(wǎng)絡(luò)拓撲結(jié)構(gòu),如圖3所示。
為了滿足RFID應(yīng)用的要求,定義并實現(xiàn)了RFID閱讀三元組,并統(tǒng)一了發(fā)布方和訂閱方的語義。發(fā)布信息格式設(shè)為三元組(ReaderID, TagID,TimeStamp)。其中:ReaderID為閱讀器標(biāo)志;Tag_ID采用標(biāo)準的EPC Global編碼,用96位編碼表示頭部(header)、制造商(manufacturer)、產(chǎn)品類別碼(product)以及產(chǎn)品序列號(serial number)。TimeStamp為特定閱讀器獲取特定標(biāo)簽的一個時間戳。
實驗中系統(tǒng)模擬實現(xiàn)了隨機RFID事件閱讀發(fā)生器。隨機事件發(fā)生器的算法如下隨機地產(chǎn)生RFID事件,并對隨機RFID事件進行計數(shù),隨機事件數(shù)量最多為1 000。
根據(jù)EPC網(wǎng)絡(luò)架構(gòu),在實驗系統(tǒng)中實現(xiàn)了ONS(object naming service),用于Tag_ID與產(chǎn)品名稱之間的轉(zhuǎn)換。名字對象解析可以在發(fā)布方或訂閱方進行,并在發(fā)布方解析Tag_ID。ONS利用hash表結(jié)構(gòu)表示,由ONS本地緩沖和遠程數(shù)據(jù)服務(wù)器組成。其中:ONS本地緩沖存在于發(fā)布方和訂閱方,用于存放了經(jīng)常訪問以及最近被訪問過的Tag_ID,以減少訪問遠程數(shù)據(jù)服務(wù)器的次數(shù)。當(dāng)需要對Tag_ID進行解析時,首先查詢ONS本地緩沖,如果所要查詢的值存在,那么直接獲取解析結(jié)果;否則向遠程數(shù)據(jù)服務(wù)器發(fā)送查詢請求。遠程數(shù)據(jù)服務(wù)器由ONS緩沖和綜合數(shù)據(jù)庫組成,其ONS緩沖實現(xiàn)類似于ONS本地緩沖,用來減少對于綜合數(shù)據(jù)庫的訪問次數(shù),綜合數(shù)據(jù)庫采用SQL Server 2000。ONS 使用TCP連接協(xié)議,預(yù)設(shè)端口號為44444。
4.2結(jié)果分析
為了驗證多個應(yīng)用與RFID閱讀之間的動態(tài)映射關(guān)系,實驗中隨機產(chǎn)生20個事件,訂閱方根據(jù)要求訂閱所需要的事件,采用等值匹配的方式過濾事件。多個訂閱方訂閱結(jié)果如圖4所示。根據(jù)對發(fā)布方所發(fā)布信息情況以及訂閱語義約定,經(jīng)過50次重復(fù)實驗驗證,訂閱方均能按要求獲得正確的RFID閱讀事件。這表明基于NB的發(fā)布訂閱系統(tǒng)完全能滿足RFID網(wǎng)絡(luò)應(yīng)用的要求。等值匹配的算法應(yīng)用于一元訂閱和組合訂閱的情況,實驗結(jié)果均正確可靠。
為了進一步驗證系統(tǒng)的可用性,在改進后的NB系統(tǒng)上測試了事件路由的延時。發(fā)布方面隨機發(fā)布1 000個事件,并記錄了每個事件從發(fā)布到接收的延時。從事件發(fā)布到訂閱方接收到訂閱事件的延時,最大不超過600 ms,這可以滿足大多數(shù)RFID實際應(yīng)用的要求。
5結(jié)束語
本文針對RFID閱讀事件與應(yīng)用之間的動態(tài)映射關(guān)系,研究了基于發(fā)布/訂閱系統(tǒng)的RFID網(wǎng)絡(luò)模型,提出了事件與應(yīng)用的動態(tài)映射關(guān)系以及采用三元組或四元組統(tǒng)一RFID事件的語義,以實現(xiàn)RFID網(wǎng)絡(luò)中應(yīng)用對RFID閱讀事件的共享;并基于NB發(fā)布/訂閱系統(tǒng),實現(xiàn)了這種具有統(tǒng)一語義RFID網(wǎng)絡(luò)模型。今后還將進一步研究應(yīng)用訂閱語義的一致性表達以及保障RFID閱讀安全和訂閱安全性RFID網(wǎng)絡(luò)框架,以更好地滿足RFID實際應(yīng)用的需求。
參考文獻:
[1]FLOERKEMEIER C, LAMPE M. RFID middleware design: addres-sing application requirements and RFID constraints[C]//Proc of2005 Joint Conference on Smart Objects and Ambient Intelligence: Innovative Context-aware Services: Usages and Technologies. New York: ACM Press, 2005:219-224.
[2]CHAWATHE S, KRISHNAMURTHY V, RAMACHANDRAN S, et al. Managing RFID data[C]//Proc of the 30th International Confe-rence on Very Large Data Bases. San Francisco: Morgan Kaufmann Publishers, 2004: 1189-1195.
[3]HOAG J E, THOMPSON C W. Architecting RFID middleware [J]. IEEE Internet Computing, 2006, 10(5): 88-92.
[4]CHEONG T, KIM Y, LEE Y. REMS and RBPTS: ALE-compliant RFID middleware software platform[C]//Proc of the 8th International Conference on Advanced Communication Technology (ICACT 2006). Seoul: IEEE, 2006: 699-704.
[5]PAN Yi-lun, LEE Y C, WU Fan. Job scheduling of savant for grid computing on RFID EPC network services computing[C]//Proc ofIEEE International Conference on Services Computing. Orlando: IEEE Computer Society, 2005: 75-82.
[6]EPCglobal IncTM. The application level events (ALE) specification version 1.0 [S].
[7]Microsoft. Biztalk user manual [DB/OL].[2006-09-12]. http://www.microsoft.com.
[8]EPCglobal IncTM. Reader protocol standard version 1.1 [S].
[9]KRISHNA A, HUSAK D J. Simple lightweight RFID reader protocol [DB/OL]. (2005-06).http://www.ietf.com.
[10]CARZANIGA A, RUTHERFORD M J, WOLF A L. A routing scheme for content-based networking[C]//Proc of the 23rd Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2004). Hong Kong: IEEE, 2004: 918-928.
[11]MUHL G, FIEGE L,GARTNER F C,et al. Evaluating advanced routing algorithms for content-based publish/subscribe systems[C]//Proc ofthe 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. Texas: IEEE Computer Society, 2002: 167-176.
[12]Community Grids Lab, Indiana University. The Narada brokering users guide [DB/OL].[2006-09-22]. http://www.naradabrokering.org/.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”