專利名稱::設備服務供應者接口的制作方法
技術領域:
:本發明一般涉及射頻識別(RFID),尤其涉及一種便于提供統一的RFID通信和管理的系統和/或方法。
背景技術:
:許多零售、制造和分配機構正在應用不同的、創新的操作方法,以提高效率。這些機構可以監視商店存貨,以便于優化涉及消費者的供給和需求。使利潤最大化的一個方面取決于適當地備有存貨,以便結合貨物和/或產品的耗盡來進行補給。例如,出售計算機和/或VCR的零售商必須根據其消費者銷售額來供應計算機,并根據其消費者銷售額來供應VCR。這樣,如果計算機比VCR的銷路更好(例如,被出售更多單位),那么,該零售商可以更頻繁地供應計算機,以便優化供給和需求,且進而可優化利潤。監視存貨和相關聯的銷售額會是一項復雜的任務,其中,產品活動類似黑匣子,因為內部工作是未知的;然而,監視產品是存貨/產品效率中的具有決定性的要素。涉及產品的一種類型的監視系統是便攜式圖像收集設備(例如,條形碼閱讀器),它被廣泛地用于制造、服務和/或數據包傳送行業中。這類設備可以執行各種現場數據收集活動。便攜式數據收集設備經常包括集成的條形碼數據形式(datafbrm)閱讀器,它適用于讀取附加于倉庫、零售店、航運基地中的產品、產品包裝和/或集裝箱的條形碼數據形式,用于存貨控制、跟蹤、生產控制和發出、質量保證和/或其他目的。可以在產品上放置唯一的條形碼,其中,該條形碼可以與涉及那個產品的信息相關聯。可以利用條形碼掃描儀來掃描產品上的該條形碼,并且,可以從其中檢索產品相關信息。但是,這類識別信息從審美觀點來看是令人不愉快的,因為這類信息會弄亂該產品。而且,對條形碼造成的裂縫、污跡、注釋或其他物理損壞/改變會致使這類常規系統和/或方法實質上變得無用。如果從產品中撕掉條形碼的一個部分,那么,條形碼掃描儀可能無法正確地讀取該條形碼。同樣,產品上的污跡會使這種條形碼變得不可讀。利用條形碼閱讀器和通用產品代碼(UPC)的監視系統和/或方法使用戶(例如,零售商、批發商、制造商、……)面對額外的復雜化因素。條形碼閱讀器要求瞄準線,以便正確地監視產品。例如,典型的條形碼系統要求掃描儀在條形碼和/或UPC的4-8英寸內,以實現正確的讀取。條形碼系統不僅要求瞄準線,而且為了識別每個單獨的產品,在該產品上進行手動掃描也是必要的。而且,單一條形碼和/或UPC必須代表產品的所有實例(例如,牌子為Tomato的一瓶番茄醬被指定用于代表該產品的單一UPC和/或條形碼)。此外,與該單一條形碼和/或UPC有關聯的信息量被限制。這樣,牌子為Tomato的番茄醬的掃描可以給出該產品標識和價格。不僅該信息是無實質的,而且該信息對于實時產品監視而言無益。自動識別與數據捕捉(AIDC)技術,尤其是射頻識別(RFID)至少已基于消除監視系統和/或方法(例如,條形碼閱讀器、條形碼和/或UPC)的以上各個不足之處的需要來加以開發。RFID是利用RFID標簽來遠程地存儲和檢索數據的技術。由于RFID系統基于無線電頻率和相關聯的信號,因此,在監視產品方面,有眾多好處和/或優點領先于傳統技術。RFID技術不要求瞄準線來監視產品和/或從RFID標簽那里接收信號。這樣,不必要進行要求掃描儀很接近目標(例如,產品)的手動掃描。然而,根據無線電頻率、RFID標簽尺寸和相關聯的電源,在RFID中,范圍受到限制。此外,RFID系統允許在幾秒鐘內進行多次讀取,從而提供迅速的掃描和識別。換言之,當這些標簽在RFID閱讀器的范圍內時,RFID系統允許多個標簽被讀取和/或被識別。RFID系統中的多次讀取的能力由于為每個單獨的產品提供包含唯一識別碼的信息標簽的能力而受到稱贊。所以,與條形碼系統對比而言,由牌子Tomato制造的每瓶番茄醬將會具有關聯的識別碼。例如,由牌子Tomato制造的兩瓶番茄醬在RFID系統內具有與其有相關聯的兩個截然不同的識別碼;而在條形碼系統中,由牌子Tomato制造的這兩瓶番茄醬將會具有相同的條形碼和/或UPC。在另一個例子中,可以在水里實現RFID系統和/或方法(例如,跟蹤和/或監視水下管道),然而,在這類條件下,條形碼監視系統呈現眾多復雜化因素。而且,RFID系統和/或方法提供與所標記的項目相關聯的實時數據。實時數據流允許零售商、批發商和/或制造商有能力精確地監視存貨和/或產品。通過利用RFID,可以進一步便于在前端分配(例如,零售商至消費者)和后端分配(例如,批發商/制造商至零售商)方面供給產品。批發商和/或制造商可以監視貨物發貨、質量、數量、發貨時間等。此外,零售商可以跟蹤被接收的存貨數量、這類存貨的位置、質量、貨架期等。這些所描述的好處表明RFID技術跨越多個領域(例如,前端供給、后端供給、分配鏈、制造、零售、自動化等)來發揮作用的靈活性。RFID系統至少包括RFID標簽和RFID收發器。RFID標簽可以包含天線,該天線為來自RFID收發器的射頻查詢提供接收和/或傳輸。RFID標簽可以是小物體(例如,膠粘標簽、靈活標簽與集成芯片等)。這些RFID標簽通常利用四種不同的頻率低頻標簽(125與134千赫之間)、高頻標簽(13.56兆赫)、UHF標簽(868~956兆赫)和微波標簽(2.45千兆赫)。在這各種頻率范圍內,RFID標簽可以是無源的或有源的。無源RFID標簽不包括電源。當從RFID收發器接收的無線電頻率在天線中引起電流時,為該標簽提供足夠的功率來響應。在許多情況下,無源RFID標簽響應是簡短的,包括ID號碼(例如,全球唯一標識符(GUID))。GUID是偽隨機數,它是唯一的并且可以由標準通用唯一標識符(UUID)(例如,按十六進制格式來書寫的16字節數字)來實現。但是,RFID系統和/或方法已集中于按(例如)被稱作“電子產品代碼”(EPC)的多位格式(例如,64位或96位)來存儲信息。無源RFID標簽中的電源缺乏允許設備是小型的和有成本效益的。一些無源RFID標簽被測量為.4毫米×.4毫米——厚度比一張紙薄。然而,電源的缺少將無源RFID標簽的實際讀取范圍限制為10毫米到大約5米。有源RFID標簽包含電源,從而提供更長的讀取范圍。典型的有源RFID標簽大約有美國流通硬幣的大小,并提供大約幾十米的讀取范圍,同時保持多達幾年的電池使用壽命。另外,有源RFID標簽可以被讀取和/或寫入。例如,RFID標簽可以提供額外的安全層,以便通過寫到有源RFID標簽來阻止盜竊。安全位可以至少根據RFID收發器來確定安全狀態。在一種安全系統中,例如,有源RFID標簽可以具有被設置為/被寫成1的安全位,這可以指出該產品沒有被清除以留出安全區域,而不會觸發警報/警告。一旦這些適當的條件存在,RFID系統和/或方法就可以將該標簽上的那個位寫成零,這可以指出該標記的產品被清除以留出安全區域。一般而言,RFID系統可以包括多個組件標簽、標簽閱讀器(例如,標簽收發器)、標簽編程站、循環閱讀器、分類設備、標簽存貨條形碼讀入器等。而且,各種構造、模型、類型和/或應用可以與相應的組件(例如,標簽、標簽閱讀器、標簽編程站、循環閱讀器、分類設備、標簽存貨條形碼讀入器、……)相關聯,這會使RFID系統內和其他RFID系統內的發現、配置、設置、通信、維護、安全和/或兼容性復雜化。鑒于以上內容,需要提供一種根據制造者和相關聯的規格來發現、配置、設置和與RFID設備通信的統一方法。
發明內容以下呈現了本發明的簡化概述,以便提供對本發明的一些方面的基本理解。這個概述不是本發明的廣泛縱覽。它既不意在標識本發明的關鍵或緊要的要素,也不意在描繪本發明的范圍。其唯一的目的是以簡化的形式來呈現本發明的一些概念,作為以后更詳細的說明的序言。本發明涉及便于與射頻識別(RFID)設備和/或其他實時事件生成系統(例如,傳感器、web服務、……)交互的系統和/或方法。設備服務供應者接口(DSPI)組件可以提供抽象層,以便按統一方式來聯絡和管理設備,而不管該設備的類型和/或牌子如何。特別是,該DSPI組件為設備銷售商(例如,閱讀器銷售商)定義至少一個接口,以便為RFID服務器統一地提供服務。這樣,該DSPI組件是服務器與至少一個設備之間的層。而且,該DSPI組件可以定義接口,以處理發現、配置、通信和連接管理。根據本發明的一個方面,該DSPI組件可以包括接收器組件,它接收涉及設備的協議轉換、RFID服務器數據、RFID設備數據等中的一項或多項。該DSPI組件便于統一地與設備進行通信并展示該設備的功能,而不管設備銷售商和協議標準如何。此外,對于該DSPI組件,接收器組件可以在外部和/或內部。將會理解,設備可以是(但不局限于)RFID閱讀器、RFID書寫器、RFID發送器、RFID設備、傳感器、實時生成系統、實時傳感器、可擴展到web服務的設備、以及實時事件生成系統、……根據本發明的另一個方面,該DSPI組件可以包括定義設備層中的消息交換的請求響應組件。將會理解,消息交換可以是異步的。另外,消息交換可以是請求響應對、通知、命令和/或屬性。消息交換由該請求響應組件利用,其中,消息交換是RFID服務器與至少一個RFID設備之間的標記語言句法。標記語言可以是(但不局限于)可擴展標記語言(XML)、超文本標記語言(HTML)、標準廣義標記語言(SGML)和可擴展超文本標記語言(XHTML)。另外,該DSPI組件可以包括定義消息層和/或傳輸層的設備接口組件。該設備接口組件在RFID服務器與至少一個RFID設備之間提供消息通信和連接管理。該設備接口組件可以利用標記語言句法,以便發送并/或接收消息(例如,通知、響應、請求、……)。在本發明的另一個方面中,該DSPI組件可以包括發現RFID設備的設備發現接口組件。這樣,該設備發現接口組件可以定義能夠通知和/或報告新RFID設備的接口。為了有效率,該設備發現接口組件可以對每一供應者例示一個組件。另外,該DSPI組件可以包括SPI容器組件,它便于將DSPI供應者載入RFID服務器。該SPI容器組件維持RFID服務器與SPI之間的版本能力。而且,該SPI容器組件可以向RFID服務器注冊至少一個驅動器。以下描述和附圖詳細地陳述本發明的某些說明性方面。但是,這些方面只表現出可以使用本發明的原理的各種方法中的一些;并且,本發明意在包括所有這類方面及其等效技術方案。通過結合這些附圖來考慮本發明的以下詳細描述,本發明的其他優點和新穎特征將變得一目了然。圖1示出了便于與設備組件交互的示例性系統的框圖。圖2示出了便于與設備交互的示例性系統的框圖。圖3示出了便于與射頻識別系統內的設備交互的示例性系統的框圖。圖4示出了便于與設備進行通信的示例性系統的框圖。圖5示出了便于與設備進行通信的示例性系統的框圖。圖6示出了便于與設備進行通信的示例性系統的框圖。圖7示出了便于與設備進行通信的示例性系統的框圖。圖8示出了便于與多個設備和相關聯的供應者進行通信的示例性系統的框圖。圖9示出了便于與設備交互的示例性系統的框圖。圖10示出了便于為設備提供統一服務的示例性方法的流程圖。圖11示出了便于為設備提供統一服務的示例性方法的流程圖。圖12示出了便于為設備提供統一服務的示例性方法的流程圖。圖13示出了其中可以使用本發明的各個新穎方面的示例性聯網環境。圖14示出了其中可以使用本發明的各個新穎方面的示例性操作環境。具體實施例方式如本申請中所利用的,術語“組件”、“系統”等意在指計算機相關實體,或者是硬件、軟件(例如,在執行中)和/或固件。例如,組件可以是在處理器上運行的進程、處理器、對象、可執行碼、程序和/或計算機。舉例說明來講,在服務器上運行的應用程序和該服務器都可以是組件。一個或多個組件可以駐留在進程內,組件可以被定位在一臺計算機上和/或被分布在兩臺或更多的計算機之間。參照這些附圖來描述本發明;貫穿附圖,相同的參考標號指相同的元件。在下文中,出于解釋的目的,陳述眾多具體細節,以便提供對本發明的徹底的理解。但是,顯而易見的是,可以在不具備這些具體細節的條件下實踐本發明。在其他實例中,以框圖形式來示出眾所周知的結構和設備,以便于描述本發明。可以連同執行如這里所描述的推理和/或蓋然論確定和/或基于統計的確定,來使用基于人工智能的系統(例如,被顯式和/或隱式地訓練的分類器)。如這里所使用的,術語“推理”通常是指從如經由事件和/或數據而被捕捉的一組觀察資料中推理或推斷出系統、環境和/或用戶狀態的過程。例如,推理可以被用來識別特定上下文或動作,或者可以生成狀態的概率分布。推理可以是蓋然論的——即,根據數據和事件的考慮來計算有關的狀態的概率分布。推理也可以指用于根據事件和/或數據集來組成更高級事件的技術。這種推理導致從一組被觀察的事件和/或被存儲的事件數據構造新事件或動作,而不管這些事件在時間上的相互關系是否很接近,也不管這些事件和數據是否來自一個或幾個事件和數據源。可以連同執行與本發明有關的自動和/或被推斷出的動作,來使用各種分類方案和/或系統(例如,支持向量機、神經網絡、專家系統、貝葉斯信度網、模糊邏輯、數據合成引擎……)。現在參考附圖,圖1示出了便于與設備組件交互以提供統一的通信和/或管理的系統100。系統100可以使用設備接口組件102來提供抽象層,該抽象層按統一方式來聯絡和管理設備組件104。設備接口組件102可以擔當服務器106與至少一個設備組件104之間的“中間中介物”。服務器106可以是(例如)RFID服務器,其中,可以將至少一項服務(例如,發行、訂購、詢問、輪詢、管理、監視、更新等)和/或被編程的計算機過程(例如,與制造和/或發貨等有關)提供給設備組件104。另外,設備接口組件102可以包括接收器組件108,它接收服務器數據、涉及設備的協議轉化、RFID服務器數據、RFID設備數據等中的一項或多項。將會理解,設備接口組件102便于統一地與設備進行通信并展示該設備的功能,而不管設備銷售商和協議標準如何。此外,對于設備接口組件102,接收器組件108可以在外部和/或內部。將會進一步理解,設備可以是(但不局限于)RFID閱讀器、RFID書寫器、RFID發送器、RFID設備、設備、實時傳感器、傳感器、可擴展到web服務的設備、以及實時事件生成系統、……設備銷售商(例如,專門從事特殊類型的硬件設備和相關聯的軟件驅動程序的硬件制造的個別硬件銷售商(IHV))可以利用設備接口組件102,以便至少部分地根據多個設備和相關聯的命令集來為中間件產品提供服務。換言之,來自銷售商的一個設備可以利用一個命令集,同時,另一個設備可以利用實質上不同的命令集。為了緩和涉及各銷售商和命令集的這些問題,設備接口組件102可以為設備銷售商定義接口,該接口按統一方式來為服務器106提供服務。所以,通過提供設備靈活性的統一技術,服務器106可以利用設備接口組件102來與設備組件104交互。而且,設備接口組件102可以提供一個和/或多個接口,以委任設備組件104的發現、配置、通信和連接管理。將會理解,設備接口組件102可以與多個設備組件104交互,其中,供應者與每個設備組件104相關聯。例如,定義的各種傳統系統(例如,其中,傳統系統通常是具有面對新標準而言是陳舊的通信專有協議的閱讀器和/或設備)利用陳舊的設備和/或軟件。這些傳統系統可以使用設備接口組件102,從而允許一個和/或多個接口為多個傳統設備和供應者提供與服務器106的統一的交互。這樣,陳舊的設備組件104和相關聯的供應者(未示出)可以用來經由設備接口組件102和服務器106提供各種服務和/或過程。在一個例子中,可以利用設備接口組件102,以便提供用于多個設備組件104與服務器106之間的交互的統一技術。這些設備組件104可以是(例如)傳統設備、自動識別設備、EPC全球服從設備等。此外,將會理解,每個設備組件104可以具有相關聯的供應者(例如,EPC-G服從供應者、專有供應者、傳統供應者、……)。這樣,設備接口組件102可以利用設備組件104和服務器106的各種命令集,來提供多個供應者之間的統一的交互。設備接口組件102可以跨越表示多個設備組件104、web服務和/或實時事件生成系統(未示出)的多個標準來提供規范化。這樣,設備組件104可以是RFID設備和/或傳感器設備。另外,通過利用設備接口組件102,可允許硬件創新升到更高的水平。設備接口組件102可以由供應者(未示出)來實現,該供應者可以是(例如)處理器不相關平臺組合體。供應者可以實現由設備接口組件102定義的一個和/或多個接口。通過為供應者定義接口,設備接口組件102通過使用設備專用命令來與設備組件104交互。這樣,設備接口組件102將來自RFID服務器106的設備具體細節減到最少。圖2示出了提供關于本發明的新穎性的縱覽的系統200。例如,RFID設備銷售商需要一種將其服務提供給運行于操作系統平臺上的主機層的統一方法,因為每個設備支持不同的命令集、協議和/或行為。設備服務供應者接口(DSPI)是抽象層,供RFID服務平臺統一地與RFID設備進行通信并對它們進行管理。這個層跨越多個通信協議來提供規范化、按統一方式來支持傳統閱讀器和其他自動ID設備、以及提供使關鍵硬件創新升到這些更高層的能力。DSPI定義了設備銷售商可以實現的抽象類別(用于處理發現、配置、通信、以及設備與連接管理),以便按統一方法來將服務提供給操作系統上的RFID服務平臺。這些供應者可以作為受管理實體在RFID服務主機202下運行,并且可以根據被稱作主機206的所支持的傳輸并經由(例如)受管API、非受管代碼、COM實現或Win32API來與這個和/或這些設備204本身進行通信。具體地,過程實例應用域208可以包含過程實例210,其中,過程實例應用域208可以與至少一個設備供應者應用域212交互。設備供應者應用域212可以包含關于設備的DSPI實現214,其中,可以有與其相關聯的多個設備216。將會理解可以有1~N個設備,其中,N是如該圖中所描繪的整數。設備服務供應者將會歸入以下種類中的至少一個1)使用標準協議[HTTP、TCP、SERIAL(例如,Samsys)]之一的純粹受管代碼實現;2)除調用非受管代碼(例如,USB閱讀器設備、與不同的協議處理程序過程連接的代理)以外的受管理代碼協議實現;3)用于作為windows設備驅動程序(例如,諸如SATO等純打印機驅動程序)來實現的專有協議的受管理代碼包裝。圖3示出了便于與設備相互作用以提供通信和/或管理的統一技術的系統300。通過利用設備服務供應者接口(DSPI)組件302,RFID服務器306可以與RFID設備304進行通信。將會理解,RFID服務器306可以與傳感器(未示出)以及任何RFID設備304進行通信。RFID設備供應者(未示出)可以使用DSPI組件302,它可以定義便于與RFID服務器306交互的至少一個DSPI組件。DSPI組件302所定義的接口可以由用于協議轉換的IHV來實現,以便向DSPI組件302展現設備功能。將會理解,DSPI組件302提供與RFID服務器和多個RFID設備304的統一的交互。將會理解RFID設備304可以是(但不局限于)RFID閱讀器、RFID熟悉器、RFID發送器、……DSPI組件302還可以包括便于利用RFID設備304來處理消息的請求響應組件308。請求響應組件308定義RFID服務器306與RFID設備304之間的消息交換。消息交換可以是(例如)消息對(例如,其中,第一個消息可以利用向量專用命令來觸發第二個消息)、請求、回復、通知、事件、屬性、查詢、確認、標志等。將會理解,請求響應組件308定義異步和/或同步的至少一個消息交換。這樣,來自請求響應組件308的異步消息交換不會觸發來自請求的立即響應。例如,傳統設備和/或專有供應者可以實現DSPI組件302,以便利用統一的通信技術。將會理解,實現該DSPI組件的供應者可以是(例如)處理器不相關平臺組合體。DSPI組件302定義接口,該組合體可以從該接口關于RFID設備304來實現。換言之,DSPI組件302使用統一命令集,多個設備和/或多個供應者可以利用該統一命令集以將IHV服務提供給RFID服務器306。而且,DSPI組件302可以包括設備接口組件310。設備接口組件310定義該息層和/或傳輸層。消息層和/或傳輸層可以由標記語言來實現,標記語言例如(但不局限于),可擴展標記語言(XML)、超文本標記語言(HTML)、標準廣義標記語言(SGML)和可擴展超文本標記語言(XHTML)。將會理解,傳輸層可以獨立于消息層。此外,設備接口組件310委任消息和連接管理。為了持續與RFID服務器306的通信和/或交互,設備接口組件310可以定義消息和傳輸層。連同請求響應組件308,設備接口組件310利用消息對(例如,由請求響應組件308來定義)和消息/傳輸層(例如,由設備接口組件310來定義)來與RFID設備304和RFID服務器306進行消息通信。另外,每個設備的連接由設備接口組件310經由消息/傳輸層來管理(例如,控制、建立、確定、放棄、監視等)。為了便于發現RFID設備304,DSPI組件302可以包括設備發現接口組件312。換言之,設備發現接口組件312定義設備發現機制。這類發現機制可以是(但不局限于)發現開始、發現停止、連接要求數據(例如,設備id、供應者名稱等)、……。將會理解設備發現接口組件312有效地對每一供應者例示一個DSPI組件,其中,處理(例如,控制、管理、監視等)與該銷售商相關聯的設備。而且,將會理解,供應者可以實現設備發現接口組件312。DSPI組件302還可以包括將供應者(未示出)載入RFID服務器306的SPI容器組件314。通過將供應者載入RFID服務器306,供應者配置和注冊由SPI容器組件314來處理。SPI容器組件314提供涉及供應者的版本和識別信息。此外,SPI容器組件314是通往供應者實現的超級網關。SPI供應者可以是(例如)處理器不相關平臺組合體。將會理解,供應者可以互換地利用驅動程序。例如,供應者可以是處理器不相關軟件程序集,它們允許標記語言應用程序、過程和web站點的創建和/或運用,作為可以通過設計或平臺或智能設備來彼此共享和/或結合信息和功能的服務,以便提供特制的解決方案。通過利用這類程序集,提供了各種好處和/或優點。可以利用這種程序集版本來解決驅動程序版本問題,因為驅動程序的不同版本在某時可以存在于服務器上。這樣,當從一個版本變成另一個版本時,該程序集允許利用多個版本,其中,正確版本是可用的。按這種程序集格式來書寫的驅動程序不容易受到緩沖器過溢、錯誤等的影響。可以隔離來自驅動器的例外,以便服務器穩定性不會受到影響。此外,IHV可以數字地簽署驅動程序,以確保可靠性和/或真實性。圖4示出了便于與設備交互以提供通信和管理的統一技術的系統400。請求響應組件308可以包括對組件402,它提供允許設備(未示出)和服務器(未示出)進行通信的消息交換對。例如,消息交換可以被定義為異步的請求響應對。而且,利用識別來匹配(例如,配對)消息交換。識別可以是(例如)對于特定的對應對而言唯一的消息標識。將會理解,對組件402可以支持銷售商專用命令(例如,消息交換對、請求響應對等)。此外,命令/例程(例如,以下所討論的“SendMessage()”)可以用來將請求發送到設備。對組件402可以利用其中可以存儲消息交換對的數據存儲404。將會理解,數據存儲404可以是DSPI(未示出)內和/或遠程服務器上的存儲器內數據庫。數據存儲404可以用來保留DSPI組件(未示出)所支持的請求響應對。另外,數據存儲404可以是(例如)易失性存儲器或非易失性存儲器,或者可以包括易失性和非易失性存儲器兩者。舉例說明來講(不作限制),非易失性存儲器可以包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)或閃存。易失性存儲器可以包括隨機存取存儲器(RAM),它擔當外部高速緩沖存儲器。舉例說明來講(不作限制),RAM可以采取許多形式,例如,靜態RAM(SRAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、雙數據率SDRAM(DDRSDRAM)、增強型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、存儲器總線直接RAM(RDRAM)、直接存儲器總線動態RAM(DRDRAM)、以及存儲器總線動態RAM(RDRAM)。本發明的系統和方法的數據存儲404意在包括(而不局限于)這些和任何其他合適類型的存儲器。對組件402支持多個消息交換對。例如,以下表1示出了可以用來在設備與服務器之間進行通信的合適的請求響應對的示例(和描述)表1另外,對組件402可以提供回復和/或通知(例如,分別通過“CmdResponseEvent”和“NotificationEvent”來接收)。例如,通知事件“ReadTagEvent”可以在事件模式中使用,并由該設備來發送,以報告標簽讀取/檢測事件。請求響應組件308還可以包括屬性組件406,它可以提供由DSPI組件(未示出)定義的屬性對。例如,屬性對可以具有實質上與消息交換對相類似的行為。具體地,屬性可以是“獲得”或“設置”,它們不拋出異常。將會理解,屬性可以由公用機制(例如,以下所討論的,經由SendMessage()方法發送的請求)來處理。將會理解,標準屬性可以由DSPI組件(未示出)來定義,而特定供應者可以定義其他屬性。供應者可以支持用于超時請求的被稱作REQUEST-TIMEOUT的屬性(例如,以毫秒計算)。將會理解,屬性組件406可以利用數據存儲404來存儲屬性。屬性組件406支持多個屬性對。例如,以下表2示出了可以用來在設備與服務器之間進行通信的各種屬性對(和描述)表2另外,屬性組件406支持多個標準屬性。例如,以下表3示出了標準屬性(尤其是該屬性是否為讀和/或寫)以及描述表3請求響應組件308可以利用程序代碼,以便利用設備與服務器之間的消息交換。程序代碼可以是標記語言,例如(但不局限于),可擴展標記語言(XML)、超文本標記語言(HTML)、標準廣義標記語言(SGML)和可擴展超文本標記語言(XHTML)。例如,標記語言可以用來提供請求、響應和通知的句法。附錄A是公用XML句法,它包含對于請求、響應和通知句法公用的構造。將會理解,請求、通知等可以被表示為DSPI組件(未示出)中的被編程對象,以提供強類型化(strongtyping)。圖5示出了便于與設備交互以提供通信和管理的統一技術的系統500。設備接口組件310可以包括便于定義消息層和傳輸層的通信組件502。此外,設備接口組件310還包含用于消息通信和連接管理的技術。將會理解,通信組件502可以包含至少一個發送信道和至少一個接收信道,來實現消息層和傳輸層。例如,通信組件502可以包括發送信道504。該發送信道可以利用“SendMessage()”來發送信息。此外,通信組件502可以具有第一接收信道506和第二接收信道508。第一接收信道506可以利用“CmdResponseEvent”用于響應(例如,用于請求),而第二接收信道508可以利用“NotificationEvent”用于通知。響應事件可以用于同步請求-響應命令,而通知可以用于異步請求-響應命令,其中,通知可以是標簽列表事件、閱讀器管理事件等。將會理解,設備接口組件310也可以利用“ProviderException”。“ProviderException”是所有供應者相關異常的頂層異常。可以在這個異常內部傳遞任何內部異常。例如,以下代碼可以定義ProviderException類publicclassProviderException:ApplicationException{publicProviderException(stringmessage):base(message){}publicProviderException(stringmessage,Exceptione):base(message,e){}}通信組件502可以將消息發送到設備。以下代碼是實現“SendMessage()”來發送消息的例子voidSendMessage(ICommandcommand);通信組件502也可以拋出異常,例如(但不局限于),ConnectionDownException、SendFailedException、System.ArgumentException(例如,當消息參數無效時)等。此外,通信組件502可以利用以下代碼eventResponseEventHandlerCmdResponseEvent;以上代碼是事件,當接收對請求的響應時,生成該事件。將會理解,當接收對命令的響應時,可以由設備來給出以上代碼。此外,通信組件502可以利用以下代碼eventResponseEventHandlerNotificationEvent;當該設備接收通知事件時,生成以上事件。此外,當接收異步事件時,可以由設備給出以上代碼。將會理解,設備接口組件310可以利用各種代碼和/或事件。以下代碼可以由設備接口組件310來實現,以便打開用于通信的消息層。將會理解,利用以下代碼來發送些標準ML(SML)消息請求publicabstractclassDeviceInterface{publicabstractDeviceInformationDeviceInformation{get;}publicabstracteventResponseEventHandlerCmdResponseEvent;publicabstracteventNotificationEventHandlerNotificationEvent;publicabstractvoidSendMessage(Commandcommand);publicabstractboolSetupConnection();publicabstractvoidClose();publicabstractboolIsConnectionAlive();publicabstractHashTableGetSources();}publicdelegatevoidResponseEvent(objectsource,ResponseEventArgsargs);publicdelegatevoidNotificationEvent(objectsource,NotificationEventArgsargs);publicclassResponseEventArgs:EventArgs{privateCommandcommand;publicResponseEventArgs(Commandcommand){...}}publicclassNotificationEventArgs:EventArgs{privateNotificationnotification;publicNotificationEventArgs(stringid,Notification.Notificationnotification){...}}publicclassRfidProviderException:ApplicationException{...}publicclassConnectionDownException:RfidProviderException{...}publicclassSendFailedException:RfidProviderException{...}//連接管理publicclassConnectionFailedException:RfidProviderException{...}“DeviceInformationDeviceInformation{get;}”提供涉及該設備實例的設備信息。它包含關于該設備的所有信息。設備信息類在發現事件中的發現時間并從設備接口組件310提供。例如,設備信息類可以被定義如下publicclassDeviceInformation{privatestringdeviceId;privateConnectionInformationconnectionInfo;privateobjectproviderData;}“voidSendMessage(ICommandcommand);”是用來發送該設備層中的所有消息的命令。可以拋出以下各個異常ConnectionDownException(例如,設備要么不被連接,要么連接下降);SendFailedException(例如,存在與設備的連接,但無法將消息發送到該設備);System.ArgumentException(例如,當消息參數無效時);等等。函數“eventResponseEventHandlerCmdResponseEvent;”是只要對請求的響應來臨就會被生成的事件。“eventNotificationEventHandlerNotificationEvent;”是只要從設備接收異步通知事件就會被生成的事件。此外,在處理涉及通信的異常的過程中,可以利用以下代碼publicdelegatevoidResponseEvent(objectsource,ResponseEventArgsargs);publicclassResponseEventArgs:EventArgs{publicreadonlystringid;//sameasmessageidpublicreadonlystringdata;//anxmlstringpublicResponseEventArgs(stringid,stringdata){...}}publicclassReaderTimeoutException:Exception{publicreadonlystringmessageId;publicReaderTimeoutException(stringmessageId){...}}將會理解,以上代碼可以包含關于屬性和/或管理的各項技術。此外,以下代碼可以創建與如下這些涉及異常的類publicclassProviderException:ApplicationException{...}publicclassConnectionDownException:ProviderException{...}publicclassSendFailedException:ProviderException{...}publicclassConnectionFailedException:ProviderException{...}voidSendMessage(stringmessage);設備接口組件310也可以管理與設備維持的連接。將會理解,這種連接的管理可以用于與供應者相關聯的多個設備。利用各種功能(以下所討論的)來維持與設備的連接。將會理解,供應者維持與設備的連接,直到使用函數“Close().”來關閉該連接為止。通過利用以下代碼,可以使用該連接管理boolSetupConnection();voidClose();boolIsConnectionAlive();HashTableGetSources();“boolSetupConnection();”設置與設備的連接(例如,由該DeviceInterface實例來抽象)。該方法可以利用以下異常ConnectionFailedException(例如,無法連接到設備)。“voidClose();”可以從驅動程序中除去與該設備有關的狀態,和/或者關閉連接。如果存在與該設備的連接(例如,由該DeviceInterface實例來抽象),那么,“boolIsConnectionAlive();”返回真。“HashTableGetSources();”在該設備處返回所有這些資源(例如,天線),作為名稱與狀態(例如,如果該資源被連接并且是有源的,則是真)。圖6示出了便于與設備交互以提供通信和管理的統一技術的系統600。設備發現接口組件312可以包括通知組件602,它向DSPI組件(未示出)通知被檢測到的新設備。通知組件602非常有效率,以便對每一供應者例示一個組件,從而可以處理這些設備。將會理解,由于服務器可能不控制資源,因此,供應者實現設備發現接口組件312。然而,供應者可以實現這種設備發現接口組件312,并且不局限于此。例如,被創建的線程數量可以取決于特定類型的設備數量。而且,如果發現線程在執行期間遇到錯誤,那么,供應者可以處理這類錯誤,以便允許這些線程運行。此外,通過利用諸如(但不局限于)DeviceListenerInterface等接口,設備發現接口組件312可以定義設備發現機制。通知組件602可以通過利用以下代碼,來提供新近檢測到的設備的發現publicabstractclassDeviceListenerInterface{publicabstracteventDiscoveryEventHandlerDiscoveryEvent;publicabstractvoidStartDiscovery();publicabstractvoidStopDiscovery();}publicdelegatevoidDiscoveryEventHandler(objectsource,DiscoveryEventArgsargs);publicclassDiscoveryEventArgs:EventArgs{pfivateDeviceInformationdeviceInfo;發現啟動和停止可以拋出異常“publicclassDiscoveryException:ApplicationException{…}”。具體地,該“DiscoveryEventHandler”是對于所有發現事件的回叫處理程序(例如,供應者利用該事件來將設備發現事件發送到主機);“StartDiscovery”是用于啟動設備的發現的函數;以及“StopDiscovery”是用于停止發現新設備的函數。此外,以上代碼利用設備信息對象,它包括涉及所發現的RFID設備的信息。設備發現接口組件312還包括便于連接到設備的連接組件604。例如,連接組件604可以利用XML串(例如,“deviceIdXml”),該XML串封裝要求連接到設備的信息和/或數據。可以由連接組件604來使用模式,它包括以下內容設備的唯一ID、供應者名稱、傳輸名、標準傳輸等。例如,連接組件604可以利用以下模式<xsd:elementname=”deviceInformation”type=”DeviceInformation”/><xsd:complexTypename=”DeviceInformation”><xsd:sequence><xsd:elementname=”id”type=”xsd:string”/><xsd:elementname=”provider”type=”xsd:string”/><xsd:elementname=”transport”type=”xsd:string”/><xsd:elementname=”providerSpecific”type=”xsd:anyType”/></xsd:sequence></xsd:complexType><xsd:simpleTypename=”Transport”><xsd:restrictionbase="xsd:string"><xsd:enumerationvalue="TCPIP"/><xsd:enurnerationvalue="SERIAL"/><xsd:enumerationvalue="HTTP"/><xsd:enumerationvalue="WIRELESS"/></xsd:restriction></simpleType>設備信息類提供關于RFID設備的信息。該類由供應者在發現事件中的發現時間并從圖3中的設備接口組件310提供。另外,連接信息類可以用于連接到RFID設備。對于支持發現的設備,可以從來自該DiscoveryEvent的DeviceInformation對象獲得該對象。對于不支持發現的設備,在調用ServiceProviderInterface對象上的GetDevice()之前,可以手動地填充該對象。該連接信息類可以被定義如下publicclassConnectionInformation{privatestringproviderId;privateTransporttransport;privateITransportSettingstransportSettings;}publicenumTransport{TcpIP,Serial,Http,Wireless}圖7示出了便于與設備交互以提供通信和管理的統一技術的系統700。例如,SPI供應者可以是提供大量優點的程序集(例如,.NET程序集)。將會理解,SPI容器組件314至少維持驅動器狀態。換言之,對于SPI組件314而言,發現和/或連接的設備數量并不重要。SPI容器組件314可以包括能夠實現服務供應者接口的服務供應者組件702。服務供應者接口是DSPI組件(未示出)的入口點。DSPI實現者要求該接口,以便利用入口點。將會理解,該接口中的方法可以利用ProviderException。例如,可以使用以下代碼publicabstractclassServiceProviderInterface:DeviceListenerInterface{publicabstractProviderInformationProviderInformation{get;};publicabstractDataEncodingUserDataEncoding{get;}publicabstractvoidInit(stringhostId,stringinitXml);publicabstractvoidShutDown();publicabstractDeviceInterfaceGetDevice(ConnectionInformationdeviceConnectionInfo);publicabstractboolIsValidDevice(DeviceInformationdeviceInfo);publicabstractstring[]GetPropertyGroupNames();publicabstractHashtableGetPropertyMetadata(stringpropertyGroupName,stringpropertyName);publicabstractPropertyProfileGetIdealReaderPropertyProfile();publicabstractPropertyProfileGetIdealWriterPropertyProfile();}將會理解,驅動器類支持以上所創建的接口。而且,可以調用以下所定義的“ProviderException”。“ProviderInformationProviderInformation{get;};”提供關于DSPI供應者的信息,它可以被DSPI主機用于信息目的。供應者信息類可以用來提供這類信息。例如,以下內容可以用來定義供應者信息類publicclassProviderInformation{privatestringid;privatestringdescription;privatestringversion;}“EncodingUserDataEncoding{get;};”提供供應者對用戶數據所期望的編碼(例如,ASCII、十六進制、……)。函數“voidInit(stringhosted,stringinitXml);”是供應者的構造函數。主機利用這個方法來初始化DSPI供應者。“hostId”可以被供應者用于信息目的,而“initXml”是供應者專用XML(例如,其模式對供應者專用),它可以由供應者用來對自身進行初始化。當設備仍然被連接時,可以使用函數“voidShutdown()”,其中,服務器負責關閉這類連接。該函數停止發現線程、清除狀態條件、和/或復位系統。這樣,它是供應者的析構函數,并且關閉供應者。“DeviceListenerInterfaceGetDeviceListener()”將返回對對象的引用,如代碼中所引用的,該對象支持用于發現的DeviceInterface監聽程序接口(例如,設備接口組件310)。而且,“DeviceInterfaceGetDevice(ConnectionInformationdeviceConnectionInfo”實現ServiceProviderInterface接口,以擔當用于DeviceInterface接口的工廠。DeviceInterface接口抽象可以與主機進行通信的RFID設備。也將會理解,如果設備信息表示該設備所支持的有效設備并且可用于連接或已經被連接,那么,代碼“boolIsValidDevice(DeviceInformationdeviceInfo);”提供返回為真。“string[]GetPropertyGroupNames();”返回該供應者所支持的屬性組的名稱。具有名稱“String.Empty”的全局屬性組不通過這個方法來返回。函數“HashtableGetpropertyMetadata(stringpropertyGroupName,stringpropertyName);”返回關于屬性的元數據,作為組名到屬性元數據的映射。該返回值可以由以下表格來定義函數“PropertyProfileGetIdealReaderPropertyProfile();”為該供應者返回關于擔任“閱讀器”角色(例如,處于標簽通知模式)的RFID設備的最優屬性概況。它包含屬性集,當被應用時,該屬性集導致閱讀器最優地操作。“PropertyProfileGetIdealWriterPropertyProfile();”為該供應者返回關于擔任“書寫器”角色(例如,同步命令模式)的RFID設備的最優屬性。它包含屬性集,當被應用時,該屬性集導致書寫器最優地操作。SPI容器組件314可以包括驅動程序組件704,以便于向服務器注冊至少一個驅動程序。驅動程序組件704為提供向服務器的驅動程序注冊,以便允許驗證的和可信的驅動程序。例如,驅動程序注冊可以利用數字簽名,這些數字簽名啟用確保兼容性和功能的可靠的和/或可信的驅動程序。例如,可以利用以下代碼來實現IDriverManager接口interfaceIDriverManager{stringLoadDriver(stringassemblyPath,stringclassName);voidUnloadDriver(stringidentifier);voidStopReadersOfDriver(stringidentifier);stringListLoadedDrivers();}IDriverManager接口可以由(例如)RFID加速器來支持。而且,將會理解,客戶機可以利用.NET平臺來遠程地連接和管理驅動程序。如上所述,.NET平臺提供涉及驅動程序的運用和通用性的各種優點。代碼“stringLoadDriver(AssemblyQualifiedNamespace);”可以由驅動程序組件704來實現。路徑可以是位于本地機器上的組合體,其中,可以拋出以下異常未找到組合體;組合體中不被服務器支持的驅動程序版本;以及不是唯一的組合體標識符(例如,跨越所裝載的驅動程序),其中,在被裝載之后,該標識符就識別驅動程序。將會理解,在正確地裝載了驅動程序之后,就返回“providerInstanceId”。此外,驅動程序組件704可以利用函數“voidUnloadDriver(stringproviderInstanceId);”,函數可從服務器配置中除去該驅動程序。對應于未找到的標識符的驅動程序是可對于該函數拋出的異常。驅動程序組件704可以實現便于管理驅動程序的代碼“stringListLoadedDrivers();”。將會理解,驅動程序組件704可以提供管理,其中,從函數“stringListLoadedDrivers();”返回的字符串可以是具有以下格式的XML字符串<xsd:elementnarne=”drivers”type=”Drivers”/><xsd:complexTypename=”Drivers”><xsd:sequence><xsd:elementname=”driver”type=”Driver”maxOccurs=”unbounded”/></xsd:sequence></xsd:complexType><xsd:complexTypename=”Driver”><xsd:sequence><xsd:elementname=”name”type=”xsd:string”/><xsd:elementname=”assembly”type=”xsd:string”/><xsd:elementname=”version”type=”xsd:string”/></xsd:sequence></xsd:complexType>以上代碼可以創建具有引用名“Drivers.”的復合類型。另外,該代碼包含驅動程序名(例如,providerInstanceId)、驅動程序組合體名和驅動程序版本。圖8示出了便于利用設備服務供應者接口(DSPI)組件802來提供用于多個設備和相關聯的供應者的統一的通信和管理的系統800。供應者804可以包括多個供應者,例如,EPC-G服從供應者808、第一專有供應者810和第二專有供應者812)。將會理解,這些供應者804啟用對相關聯的設備的服務。例如,EPC-G服從供應者808可以與EPC-全局設備814相關聯,第一專有供應者810可以與第一傳統設備816相關聯,以及第二專有供應者812可以與第二傳統設備818相關聯。將會理解,DSPI組件802通過用于相關聯的設備(例如,EPC-全局設備814、第一傳統設備816和第二傳統設備818)的現有供應者804之一來交互。DSPI組件802提供一種統一方式,通過該統一方式,供應者804為中間件產品提供服務,因為每個設備支持不同的命令集。換言之,DSPI組件802定義用于設備銷售商(例如,和相關聯的設備)的接口,以便統一地為RFID服務器806提供服務。將會理解,DSPI組件802可以在消息層中支持對供應者804中的至少一個專用的命令。可以利用以下命令對象來發送這些供應者專用命令publicclassVendorDefined:Command{privatestringvendor;privatestringcommand;privateParameterCollectionparameters;privateVendorDefinedResponseresponse;}publicclassVendorDefinedResponse:Response{privatestringreply;privatevendorDatadata;}以上對象包含作為字符串的供應者專用命令。可以在ParameterCollection中傳遞額外的參數。發送對該命令的回復,作為回復串,并且,將任何額外的數據放入該數據對象。將會進一步理解,可以利用以下事件對象來發送供應者專用通知publicstructVendorDefinedEvent:IEvent{privatestringid;privatestringvendor;privatestringname;privateDatadata;}這個對象包含事件id、銷售商id、供應者專用事件名稱、以及用于該事件的任何供應者專用數據。根據本發明的一個方面,DSPI供應者可以實現標簽列表功能。標簽列表存儲由設備檢測到的標簽(例如,上至緩沖區極限)。該標簽列表利用DUPLICATE_ELIMINATION_TIME來消除重復,并將它們存儲在標簽列表中。該標簽列表用來在設備處存儲所檢測的標簽,以便即使它不與供應者連接,主機也不會丟失標簽。標簽列表包含Tag(標簽)條目的集合,它被定義如下publicstructTag{privatestringtagId;privatestringtagData;privatestringtagType;privateDateTimetime;privatestringsource;...}Tag存儲標簽Id、最優標簽數據、最優標簽類型、最優時間和最優來源。來源被存儲為簡單的供應者專用字符串(例如,Antenna1)。將會理解,這些來源名稱可以是(但不局限于)Antenna1、Anterna2等。根據本發明的另一個方面,位屏蔽過濾器可以應用于所檢測到的標簽的標簽id。可以(例如)利用零、一和x來實現過濾器模式,其中,x表示任意數。過濾器只應用于匹配長度的標簽id。在一個例子中,過濾器只應用于通知。同步命令不應用過濾器。可以利用以下內容來使用BitMaskReadFilter:publicclassBitMaskReadFilter{privatestringbitMask;privateboolinclusive;}根據本發明的另一個方面,供應者804中的至少一個可以提供支持傳遞代碼(passcode)的標簽命令集。如果用戶利用“WriteID”命令來設置傳遞代碼,那么,它將可適用于所有這些安全操作。如果用戶沒有傳遞代碼,則所有這些將成為普通命令。傳遞代碼將對標簽專用。圖9示出了便于促進利用設備服務供應者接口(DSPI)組件902來提供用于設備的統一通信和/或管理的系統900。DSPI組件902通過提供用于通信和管理的統一技術,來促進RFID服務器906與RFID設備904之間的通信。例如,與至少一個RFID設備904相關聯的供應者(未示出)可以實現DSPI組件902。供應者可以是實現由DSPI組件902來定義的接口的處理器不相關平臺組合體。DSPI組件902可以利用歷史組件908,該歷史組件908至少根據DSPI組件902、RFID服務器906和/或RFID設備904來提供活動日志。該歷史組件可以跟蹤信息和/或將信息記入目志,信息例如,供應者列表、與供應者相關聯的設備、連接歷史、連接數據、信號數據、認證數據等。另外,將會理解,由歷史組件908創建的活動日志可以是實時數據流和/或存儲的數據。歷史組件908可以利用數據存儲914來存儲這一日志活動和/或歷史數據。以下詳細地描述這一數據存儲914。DSPI組件902可以與安全組件910交互,以便為系統900提供額外的安全。安全組件910可以允許認證(例如,登錄和/或密碼)、驗證(例如,驗證這一登錄和密碼)、可靠的連接(例如,至少基于驗證)、安全等級(例如,基于用戶名和/或密碼)、加密等。例如,安全組件910可以提供安全連接,其中,可以交換允許供應者與DSPI組件902所定義的接口交互和/或利用它們的信息。另外,系統900的認證和/或驗證可以提高用戶關于所提供的驅動程序的置信度。根據本發明的一個方面,DSPI組件902可以利用學習組件912來便于建立RFID服務器906與RFID設備904之間的通信。學習組件912可以利用機器學習(例如,人工智能)技術,來確定(例如)供應者活動/行為、設備活動/行為、安全趨勢等。學習組件912可以分析與歷史組件908相關聯的信息,例如,歷史數據和/或活動日志,以確定供應者是否可以實現DSPI組件902所定義的接口。另外,在確定特定設備是否將要被連接和/或被服務時,學習組件912可以分析至少部分地根據人工智能技術確定的特征和/或行為樣式。將會理解,歷史組件908、安全組件910和/或學習組件912可以利用數據存儲914來存儲數據。數據存儲914可以位于DSPI組件902內和/或遠程服務器上。另外,數據存儲914可以是(例如)易失性存儲器或非易失性存儲器,或者可以包括易失性和非易失性存儲器兩者。舉例說明來講(不作限制),非易失性存儲器可以包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)或閃存。易失性存儲器可以包括隨機存取存儲器(RAM),它擔當外部高速緩沖存儲器。舉例說明來講(不作限制),RAM有許多形式,例如,靜態RAM(SRAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、雙數據速率SDRAM(DDRSDRAM)、增強型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、存儲器總線直接RAM(RDRAM)、直接存儲器總線動態RAM(DRDRAM)、以及存儲器總線動態RAM(RDRAM)。本發明的系統和方法的數據存儲914意在包括(而不局限于)這些和任何其他合適類型的存儲器。圖10-12示出了根據本發明的方法。為解釋簡單起見,這些方法被描繪和描述為一系列動作。將會理解和認識,本發明不被所示出的動作和/或動作順序限制,例如,動作可以按各種順序和/或與這里沒有呈現和描述的其他動作同時發生。另外,并不是所有被示出的動作都是實現根據本發明的方法所必須的。此外,本領域的技術人員將會理解和認識,作為選擇,這些方法可以經由狀態圖或事件而被表示為一系列互相聯系的狀態。圖10示出了通過利用用于交互的統一技術便于與設備進行通信的方法1000。在1002處,供應者可以被裝載到服務器上。具體地,SPI容器可以將供應者裝載到RFID服務器上。將供應者裝載到服務器上之后,SPI的這個版本就可以被驗證與這一服務器相兼容。另外,可以向RFID服務器注冊驅動程序,以便提供兼容的驅動程序(例如,數字驗證)。在1004處,發現并配置設備。發現是有效的,以便對每一供應者例示一個組件,并且可以利用這些設備。另外,供應者在發現過程期間處理發現線程錯誤。在發現設備之后,字符串可以提供連接和/或配置設備所要求的信息。例如,字符串可以是具有信息(例如(但不局限于),設備的唯一標識符、供應者名稱、傳輸名稱等)的標記語言格式,例如,可擴展標記語言(XML)、超文本標記語言(HTML)、標準廣義標記語言(SGML)和可擴展超文本標記語言(XHTML)、……。接下來,在1006處,可以定義并利用接口,以便為設備提供統一服務。一旦供應者被裝載到RFID服務器上,并且發現和/或配置了設備,則供應者就可以利用該接口,以便利用統一技術來進行通信。所定義的接口可以提供對于新設備的發現和配置;并且,進一步的通信可以提供對于所有設備(例如,新設備和已建立的設備)的連接管理。通過利用統一技術,可跨越多個標準來提供規范化。圖11示出了便于與設備進行通信的方法1100。在1102處,供應者被裝載到RFID服務器上。一旦被認證,供應者就被裝載,其中,可以通過利用至少一個接口來統一地提供多項服務。在1104處,定義消息層和/或傳輸層。在該消息層和/或傳輸層內提供消息通信和/或連接管理。例如,發送信道可以利用“SendMessage()”來發送消息交換。此外,用于響應的第一接收信道可以實現“CmdResponseEvent”,而用于通知的第二接收信道可以利用“NotificationEvent”。可以利用XML字符串來提供連接管理。將會理解,供應者可以維持與設備的連接,直到利用函數“Close()”來關閉該連接為止。在1106處,可以通過利用消息層和/或傳輸層來發現和配置設備。利用消息交換對來完成設備的發現和配置。這些消息交換對在服務器與設備之間交換。將會理解,消息交換對是異步的,并可以利用消息標識來進行匹配。如上所述,可以使用“SendMessage()”來將請求發送到設備,而分別利用“CmdResponseEvent”和“NotificationEvent”來接收回復和通知。另外,消息交換對可以利用屬性來配置設備。將會理解,也可以通過配置和/或發現過程來定義和實現標準屬性。接下來,在1108處,定義并利用接口,以便經由該RFID服務器來將統一服務提供給所發現和配置的設備。消息交換對可以提供統一技術,以便與現有和/或新近檢測到的設備進行通信。將會理解,可以定義用于發現、配置、通信和連接管理的多個接口。一般而言,方法1100可以提供抽象層,以便統一地與設備進行通信并管理它們。圖12示出了提供統一技術來聯絡和/或管理設備的方法1200。在1202處,RFID供應者被裝載到RFID服務器上,以便提供服務。將會理解,在認證和/或驗證之后,就相應地檢測和裝載新的供應者。在1204處,定義消息層和傳輸層,從而提供了設備服務供應者接口(DSPI)組件和RFID設備的通信能力。在1206處,確定是否檢測到新設備。如果檢測到新設備,那么,過程進行到1208,在那里,相應地連接、認證并配置設備。如果沒有檢測到新設備,那么過程繼續進行到1210,在那里,可以定義并利用接口,以便為所檢測到(例如,發現、驗證和/或認證)的RFID設備提供統一服務。將會理解,過程1200提供連續關于新的供應者和/或新的關聯設備是否在RFID服務器內存在的持續輪詢和/時段確定。換言之,在為所檢測到的設備提供該統一服務的同時,一檢測到新的供應者,過程就可以進行到1202,其中,可以裝載該供應者,并且可以發現、連接和認證相關聯的設備。另外,將會理解,可以在預先存在的供應者上建立新設備。這樣,該過程可以相應地發現和配置這一新設備。實質上連續的輪詢和/或周期性校驗可以使用新的設備和/或供應者的確定。為了提供用于實現本發明的各個方面的附加環境,圖13-14和下文意在簡要、概括地描述可以在其中實現本發明的各個方面的合適的計算環境。盡管上文已在運行于本地計算機和/或遠程計算機上的計算機程序的計算機可執行指令的一般上下文中描述本發明,但本領域的技術人員將會認識到,也可以結合其他程序模塊來實現本發明。通常,程序模塊包括執行特定任務和/或實現特定抽象數據類型的例程、程序、組件、數據結構等。而且,本領域的技術人員將會理解,本發明的方法可以利用其他計算機系統配置,來實現,包括單處理器或多處理器計算機系統、小型計算機、大型計算機、以及個人計算機、手持計算設備、基于微處理器的和/或可編程的消費電子設備等,其每一個都可以操作上與一個或多個相關聯的設備進行通信。所示出的本發明的各方面也可以在分布式計算環境中實踐;在分布式計算環境中,某些任務由通過通信網絡而被連接的遠程處理設備來執行。但是,本發明的某些(如果不是全部)方面可以在獨立計算機上實踐。在分布式計算環境中,程序模塊可以位于本地和/或遠程記憶存儲設備中。圖13是可以與本發明交互的示例計算環境1300的示意框圖。系統1300包括一個或多個客戶機1310。客戶機1310可以是硬件和/或軟件(例如,線程、進程、計算設備)。系統1300也包括一個或多個服務器1320。服務器1320可以是硬件和/或軟件(例如,線程、進程、計算設備)。例如,通過使用本發明,這些服務器1320可以容納線程,來執行變換。客戶機1310與服務器1320之間的一個可能的通信可以采取適合于在兩個或更多的計算機進程之間傳送的數據包的形式。系統1300包括通信框架1340,該通信框架1340可以用來促進客戶機1310與服務器1320之間的通信。客戶機1310操作上連接到可以用來存儲對客戶機1310本地的信息的一個或多個客戶機數據存儲1350。同樣,服務器1320操作上連接到可以用來存儲對服務器1340本地的信息的一個或多個服務器數據存儲器1330。參照圖14,用于實現本發明的各個方面的示例性環境1400包括計算機1412。計算機1412包括處理單元1414、系統存儲器1416和系統總線1418。系統總線1418將包括(但不局限于)系統存儲器1416的各個系統組件耦合到處理單元1414。處理單元1414可以是各種可用處理器中的任何一種。雙微處理器和其他多處理器體系結構也可以用作處理單元1414。系統總線1418可以是幾種類型的總線結構中的任何一種,包括存儲總線或存儲控制器、外圍總線或外部總線、和/或使用任何各種可用總線體系結構的任一種的局部總線,這些總線體系結構包括(但不局限于)工業標準體系結構(ISA)、微通道體系結構(MSA)、擴展的ISA(EISA)、智能驅動電子設備(IDE)、VESA局部總線(VLB)、外圍部件互連(PCI)、插件總線(CardBus)、通用串行總線(USB)、高級圖形端口(AGP)、個人計算機存儲卡國際協會總線(PCMCIA)、火線(IEEE1394)、以及小型計算機系統接口(SCSI)。系統存儲器1416包括易失性存儲器1420和非易失性存儲器1422。基本輸入/輸出系統(BIOS)被存儲在非易失性存儲器1422中,它包含用于(例如,在啟動期間)在計算機1412內的各個元件之間傳送信息的基本例程。舉例說明來講(不作限制),非易失性存儲器1422可以包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)或閃存。易失性存儲器1420包括隨機存取存儲器(RAM),它擔當外部高速緩沖存儲器。舉例說明來講(不作限制),RAM可采取許多形式,例如,靜態RAM(SRAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、雙數據率SDRAM(DDRSDRAM)、增強型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、存儲器總線直接RAM(RDRAM)、直接存儲器總線動態RAM(DRDRAM)、以及存儲器總線動態RAM(RDRAM)。計算機1412也包括可移動/不可移動的易失性/非易失性計算機存儲介質。圖14示出了(例如)盤存儲1424。盤存儲1424包括(但不局限于)比如磁盤驅動器、軟盤驅動器、磁帶驅動器、Jaz驅動器、Zip驅動器、LS-100驅動器、閃存卡或記憶棒等設備。此外,盤存儲1424可以單獨包括存儲介質或與其他存儲介質結合,存儲介質包括(但不局限于)光盤驅動器,例如,光盤ROM設備(CD-ROM)、CD可記錄驅動器(CD-R驅動器)、CD可重寫驅動器(CD-RW驅動器)或數字多功能盤ROM驅動器(DVD-ROM)。為了便于盤存儲設備1424與系統總線1418的連接,通常使用可移動或不可移動的接口(例如,接口1426)。將會理解,圖14描述了擔當用戶與合適的操作環境1400中所描述的基本計算機資源之間的中介物的軟件。這種軟件包括操作系統1428。操作系統1428(它可以被存儲在盤存儲1424上)用于控制和分配計算機系統1412的資源。系統應用程序1430通過存儲在系統存儲器1416中或盤存儲1424上的程序模塊1432和程序數據1434,來利用操作系統1428所執行的資源管理。將會理解,可以利用各種操作系統或操作系統的組合來實現本發明。用戶通過輸入設備1436來將命令或信息輸入計算機1412。輸入設備1436包括(但不局限于)定點設備(例如,鼠標、跟蹤球、觸針、觸摸墊)、鍵盤、話筒、操縱桿、游戲墊、圓盤式衛星電視天線、掃描儀、TV調諧卡、數碼照相機、數碼攝像機、web照相機等。這些和其他輸入設備經由接口端口1438并通過系統總線1418而連接到處理單元1414。接口端口1438包括(例如)串行端口、并行端口、游戲端口和通用串行總線(USB)。輸出設備1440將某種類型的端口中的一些用作輸入設備1436。這樣,例如,USB端口可以被用來將輸入提供給計算機1412,并將信息從計算機1412輸出到輸出設備1440。提供輸出適配器1442,以說明有一些輸出設備1440,比如監視器、揚聲器和打印機等其他輸出設備1440,它們要求特殊的適配器。舉例說明來講(不作限制),輸出適配器1442包括在輸出設備1440與系統總線1418之間提供連接手段的視頻卡和聲卡。應該注意,其他設備和/或設備的系統既提供輸入能力,又提供輸出能力(例如,遠程計算機1444)。計算機1412可以使用與一臺或多臺遠程計算機(例如,遠程計算機1444)的邏輯連接而在聯網環境中進行操作。遠程計算機1444可以是個人計算機、服務器、路由器、網絡PC、工作站、基于微處理器的設備、對等設備或其他普通網絡節點等,它通常包括相對于計算機1412而描述的許多或所有元件。出于簡潔的目的,對遠程計算機1444僅示出記憶存儲設備1446。遠程計算機1444通過網絡接口1448而在邏輯上被連接到計算機1412,然后經由通信連接1450而在物理上被加以連接。網絡接口1448包含有線和/或無線通信網絡,例如,局域網(LAN)和廣域網(WAN)。LAN技術包括光纖分布式數據接口(FDDI)、銅分布式數據接口(CDDI)、以太網、令牌環等。WAN技術包括(但不局限于)點對點鏈路、電路交換網絡(比如綜合業務數字網(ISDN)及其變體)、分組交換網絡以及數字訂戶線(DSL)。通信連接1450指的是用來將網絡接口1448連接到總線1418的硬件/軟件。為說明清楚起見而在計算機1412內部示出通信連接1450,但它也可以在計算機1412的外部。僅僅出于示范的目的,連接到網絡接口1448所需的硬件/軟件包括內部和外部技術,例如,包括常見電話級調制解調器、電纜調制解調器和DSL調制解調器的調制解調器;ISDN適配器;以及以太網卡。以上所描述的包括本發明的例子。當然,不可能為描述本發明而描述組件或方法的每個想得到的組合,但本領域的技術人員可以認識到,可能存在本發明的許多其他組合和排列。因此,本發明意在包含落入所附權利要求書的精神和范圍以內的所有這類改變、修改和變更。特別是,關于上述組件、設備、電路、系統等所執行的各種功能,用來描述這類組件的術語(包括對“裝置”的參考)意在對應于(除非另有指示)執行所描述的組件(例如,功能等效物)的規定功能的任何組件,即使在結構上不等同于所揭示的執行本發明的此處所示出的示例性方面中的功能的結構,也是如此。在這方面,也將會認識到,本發明包括系統以及計算機可讀介質,該計算機可讀介質具有用于執行本發明的各種方法的動作和/或事件的計算機可執行指令。此外,盡管只相對于幾項實現中的一項來揭示本發明的具體特征,但這種特征可以與其他實現的一個或多個其他特征相結合,對于任何給定或特定的應用程序而言,這可能是想要的和有利的。另外,就術語“包括”及其變體用于詳細描述或權利要求書中來說,這些術語意在按類似于術語“包含”的方式來起包含的作用。權利要求1.一種便于與設備交互的系統,包括接收涉及設備的協議轉換的組件;以及設備服務供應者接口(DSPI)組件,它定義接口,以便統一地與所述設備進行通信,并展示所述設備的功能,而不管設備銷售商和協議標準如何。2.如權利要求1所述的系統,其特征在于,所述設備可以具有以下的至少一項實現所述接口來展示功能的相關聯的供應者;作為第三方銷售商來利用所述DSPI組件的設備銷售商。3.如權利要求1所述的系統,其特征在于,所述相關聯的供應者利用設備命令,所述設備命令抽象設備專用細節,并且是處理器不相關平臺組合體。4.如權利要求1所述的系統,其特征在于,還包括請求響應組件,它定義作為命令和響應對象的消息交換,其中,所述命令和所述響應是異步的,并利用消息ID來進行匹配。5.如權利要求4所述的系統,其特征在于,所述消息交換是請求響應對,所述請求響應對是以下的至少一項命令;屬性;以及通知。6.如權利要求1所述的系統,其特征在于,所述設備是以下的至少一項射頻識別(RFID)設備、實時傳感器、傳感器、可擴展到web服務的設備、以及實時事件生成系統。7.如權利要求1所述的系統,其特征在于,所述DSPI組件將邏輯事件源與物理事件源分開,其中,有一個例示,并且該例示用來與所述設備一起運作,而不管以下的至少一項如何位置、類型、設備銷售商和協議標準。8.如權利要求1所述的系統,其特征在于,還包括定義層的設備接口組件,所述層是消息層和傳輸層中的一項。9.如權利要求1所述的系統,其特征在于,還包括設備發現接口組件,它利用封裝設備連接數據的標記語言定義字符串來定義設備發現機制,其中,所述設備發現機制對每一供應者例示一個DSPI組件。10.如權利要求1所述的系統,其特征在于,還包括裝載DSPI供應者的SPI容器組件,其中,所述SPI容器組件提供以下的一項兼容的SPI版本;驅動程序的數字認證;以及驅動程序注冊。11.如權利要求1所述的系統,其特征在于,所述DSPI組件利用安全組件,所述安全組件提供以下的一項安全連接;供應者的認證;以及設備的驗證。12.一種計算機可讀介質,其上存儲如權利要求1所述的系統的組件。13.一種便于與設備交互的計算機實現的方法,包括接收涉及設備的協議轉換;以及定義接口,以便統一地與所述設備進行通信,并展示所述設備的功能,而不管設備銷售商和協議標準如何。14.如權利要求13所述的方法,其特征在于,還包括將供應者載入RFID服務器;定義消息層和傳輸層;以及發現和配置所述設備。15.如權利要求13所述的方法,其特征在于,還包括異步消息交換對。16.如權利要求13所述的方法,其特征在于,所述消息交換對是以下的一項請求和響應;請求和回復;請求和通知;以及請求和屬性。17.如權利要求13所述的方法,其特征在于,還包括將邏輯事件源與物理事件源分開。18.如權利要求13所述的方法,其特征在于,還包括所述接口擴展到第三方設備銷售商、web服務和實時傳感器設備中的至少一項。19.一種在接收器組件與接口之間進行通信的數據包,所述數據包促進如權利要求13所述的方法。20.一種便于與射頻識別(RFID)設備交互的計算機實現的系統,包括用于接收涉及設備的協議轉化的裝置;以及用于定義接口,以便統一地與所述設備進行通信并展示所述設備的功能,而不管設備銷售商和協議標準如何的裝置。全文摘要本發明提供一種便于與設備組件交互,以提供統一的通信、發現和管理的系統和/或方法。設備服務供應者接口(DSPI)組件可以提供統一方式來聯絡和/或管理射頻識別(RFID)設備。該DSPI組件可以包括接收一個或多個RFID服務器數據和RFID設備數據的接收器組件。該DSPI組件可以定義接口,該接口便于RFID服務器數據和RFID設備數據中的一個或多個在RFID設備與RFID服務器之間按統一方式的通信。接口可以被定義,以處理發現、配置、通信和連接管理。文檔編號H04L29/06GK1825333SQ20051009108公開日2006年8月30日申請日期2005年8月1日優先權日2004年9月1日發明者A·庫瑪,F·A·阿罕默德,J·古特蒂,V·G·R·雷迪,V·阿楠薩哈拉曼,A·阿賈瓦爾,B·斯瑞拉姆,M·F·A·阿罕默德申請人:微軟公司