專利名稱:射頻識(shí)別(rfid)服務(wù)器內(nèi)部設(shè)計(jì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及射頻識(shí)別(RFID),更具體地涉及便于提供RFID通信,管理,和/或進(jìn)程執(zhí)行的系統(tǒng)和/或方法。
(2)
背景技術(shù):
許多零售、制造和銷售公司正在應(yīng)用不同的創(chuàng)新操作方法來增加效率。這些公司監(jiān)視存貨目錄以便于最優(yōu)化與消費(fèi)者相關(guān)的供需關(guān)系。利潤最大化的一方面取決于適當(dāng)?shù)拇尕?,以隨貨物和/或產(chǎn)品地耗盡而進(jìn)行補(bǔ)充。例如,銷售計(jì)算機(jī)和/或VCR的零售商必須相對(duì)其客戶銷售庫存計(jì)算機(jī),并相對(duì)其客戶銷售庫存VCR。因而,如果計(jì)算機(jī)比VCR的需求更旺(例如售出更多個(gè)),零售商可更頻繁地庫存計(jì)算機(jī)以便優(yōu)化供需以及利潤。監(jiān)視存貨及相關(guān)銷售是復(fù)雜的任務(wù),其中產(chǎn)品活動(dòng)就像是黑盒子,因?yàn)槠鋬?nèi)部運(yùn)作是不知道的;因而監(jiān)視產(chǎn)品在存貨/產(chǎn)品效率中是關(guān)鍵因素。
一類與產(chǎn)品相關(guān)的監(jiān)視系統(tǒng)和/或方法是在制造業(yè)、服務(wù)業(yè)和包裝運(yùn)輸業(yè)廣泛使用的便攜式圖像收集裝置(例如條碼讀取器)。這種裝置可執(zhí)行各種現(xiàn)場數(shù)據(jù)收集活動(dòng)。便攜式數(shù)據(jù)收集裝置常常包括適于在倉庫、零售店、貨運(yùn)中心中讀取附在產(chǎn)品、產(chǎn)品包裝和/或集裝箱上的條碼數(shù)據(jù)形式的集成式條碼讀取器,用于庫存控制、跟蹤、產(chǎn)品控制和發(fā)送、質(zhì)量保證和其它目的。
唯一的條碼可被置于產(chǎn)品上,其中該條碼可與產(chǎn)品相關(guān)的信息相關(guān)聯(lián)。例如,條碼掃描儀可被用來掃描產(chǎn)品上的條碼,而與產(chǎn)品相關(guān)的信息可從而檢索到。然而,這種標(biāo)識(shí)信息在審美上是令人不舒服的,因?yàn)檫@樣的信息可使產(chǎn)品變得雜亂。此外,撕裂、污跡、標(biāo)注或其它對(duì)條碼的物理損壞/改變可使得這種常規(guī)系統(tǒng)和/或方法基本無用。如果從產(chǎn)品上撕下部分條碼,則條碼掃描儀將不能正確讀取該條碼。類似地,產(chǎn)品上的污跡將使這種條碼不可讀。
此外,使用條碼讀取器和通用產(chǎn)品代碼(UPC)的監(jiān)視系統(tǒng)和/或方法更使用戶(例如零售商、批發(fā)商、制造商)面對(duì)其它復(fù)雜因素。條碼讀取器需要一瞄準(zhǔn)線以便適當(dāng)?shù)乇O(jiān)視產(chǎn)品。例如,典型的條碼系統(tǒng)需要掃描儀在條碼和/或UPC的4-8英寸之內(nèi)以便于適當(dāng)讀取。不僅條碼系統(tǒng)需要瞄準(zhǔn)線,而且為了標(biāo)識(shí)產(chǎn)品對(duì)每個(gè)產(chǎn)品的手工掃描也是必須的。此外,單個(gè)條碼和/或UPC必須表示產(chǎn)品的所有實(shí)例(例如,一瓶品牌為Tomato的番茄醬被標(biāo)明一個(gè)UPC和/或條碼用于表示產(chǎn)品)。此外,與單個(gè)條碼和/或UPC相關(guān)聯(lián)的信息量是有限的。因而,對(duì)品牌Tomato番茄醬的掃描可給出產(chǎn)品標(biāo)識(shí)和價(jià)格。該信息不僅是脆弱的,而且不利于實(shí)時(shí)產(chǎn)品監(jiān)視。
自動(dòng)標(biāo)識(shí)和數(shù)據(jù)捕捉(AIDC)技術(shù),特別是射頻標(biāo)識(shí)(RFID)已經(jīng)至少基于解決上述監(jiān)視系統(tǒng)和/或方法(例如條碼讀取器、條碼、和/或UPC)的缺陷的需要得到了開發(fā)。RFID是一種利用RFID標(biāo)簽遠(yuǎn)程存儲(chǔ)和檢索數(shù)據(jù)的方法。由于RFID系統(tǒng)基于射頻及相關(guān)聯(lián)信號(hào),許多益處和/或優(yōu)點(diǎn)超越了監(jiān)視產(chǎn)品的傳統(tǒng)技術(shù)。RFID技術(shù)不需瞄準(zhǔn)線來從RFID標(biāo)簽監(jiān)視產(chǎn)品和/或接收信號(hào)。因而,不需要進(jìn)行掃描儀必須接近目標(biāo)物(例如產(chǎn)品)的手工掃描。然而在RFID中范圍根據(jù)射頻頻率、RFID目標(biāo)大小、及相關(guān)聯(lián)電源而受到限制。此外,RFID系統(tǒng)允許在幾秒內(nèi)多次讀取,從而提供快速掃描和標(biāo)識(shí)。換言之,當(dāng)標(biāo)簽在RFID讀取器范圍之內(nèi)時(shí),RFID系統(tǒng)允許讀取和/或標(biāo)識(shí)多個(gè)標(biāo)簽。RFID系統(tǒng)中多個(gè)讀取的能力還被輔以對(duì)每個(gè)產(chǎn)品提供包含唯一標(biāo)識(shí)碼的信息標(biāo)簽的能力。因此,與條碼系統(tǒng)不同,品牌Tomato的每瓶番茄醬將具有一相關(guān)聯(lián)標(biāo)識(shí)碼。例如,品牌Tomato的兩瓶番茄醬在RFID系統(tǒng)內(nèi)具有與其相關(guān)聯(lián)的兩個(gè)不同標(biāo)識(shí)碼;而在條碼系統(tǒng)中,品牌Tomato的兩瓶番茄醬只具有同一條碼和/或UPC。在另一示例中,RFID系統(tǒng)和/或方法可在水中實(shí)現(xiàn),諸如跟蹤和/或監(jiān)視水下管道,而條碼監(jiān)視系統(tǒng)在這種條件下呈現(xiàn)許多復(fù)雜因素。
此外,RFID系統(tǒng)和/或方法提供與附加標(biāo)簽物相關(guān)聯(lián)的實(shí)時(shí)數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)流允許零售商、批發(fā)商和/或制造商具有精確監(jiān)視庫存和/或產(chǎn)品的能力。利用RFID還可便于在前端銷售(例如零售商對(duì)客戶)和后端銷售(例如批發(fā)商/制造商對(duì)零售商)上提供產(chǎn)品。零售商和/或制造商可監(jiān)視商品運(yùn)輸、質(zhì)量、數(shù)量、運(yùn)送時(shí)間等。此外,零售商可跟蹤接收的存貨數(shù)量、存貨的地點(diǎn)、質(zhì)量、保存限期等。所示優(yōu)點(diǎn)顯示了RFID技術(shù)的靈活性可以在多個(gè)領(lǐng)域上發(fā)揮作用,諸如前端供貨、后端供貨、銷售鏈、制造、零售、自動(dòng)化等。
RFID系統(tǒng)至少由RFID標(biāo)簽和RFID收發(fā)器組成。RFID標(biāo)簽可包含提供收發(fā)來自RFID收發(fā)器的射頻查詢的天線。RFID標(biāo)簽可以是一小物體,比如粘性標(biāo)簽、柔軟的標(biāo)簽或集成芯片等。RFID標(biāo)簽通常可采用4種不同頻率低頻標(biāo)簽(125-134千赫茲)、高頻標(biāo)簽(13.56兆赫茲)、UHF標(biāo)簽(868-956兆赫茲)和微波標(biāo)簽(2.45千兆赫茲)。
在各種頻率范圍內(nèi),RFID標(biāo)簽可以是無源或有源的。無源RFID標(biāo)簽不包含電源。但通過接收RFID收發(fā)器的射頻在天線中感應(yīng)出小電流,為標(biāo)簽作出響應(yīng)提供足夠的電源。在許多情況下,無源RFID標(biāo)簽的響應(yīng)是簡單的,只包括ID號(hào)(例如全球唯一標(biāo)識(shí)符(GUID))。GUID是唯一的偽隨機(jī)碼,并可由16進(jìn)制的16字節(jié)號(hào)碼的標(biāo)準(zhǔn)通用唯一標(biāo)識(shí)符(UUID)來實(shí)現(xiàn)。然而,RFID系統(tǒng)和/或方法集中于以例如稱為電子產(chǎn)品碼(EPC)的64比特或96比特的多比特格式存儲(chǔ)信息。無源RFID標(biāo)簽中缺少電源,使得裝置變得較小并具有較高性價(jià)比。一些無源RFID標(biāo)簽被測為0.4毫米×0.4毫米,其厚度比一張紙厚一些。但是,電源的缺少使無源RFID標(biāo)簽的實(shí)際讀取范圍被限制在10毫米到約5米。
有源RFID標(biāo)簽包含允許更大讀取范圍的電源。通常的有源RFID標(biāo)簽的尺寸約是美元硬幣大小,提供約為幾十米的實(shí)際讀取范圍同時(shí)維持高達(dá)若干年的電池壽命。此外,可讀寫有源RFID標(biāo)簽。例如,RFID標(biāo)簽可提供一附加保護(hù)層以阻止竊賊寫入有源RFID標(biāo)簽。安全比特可至少基于RFID收發(fā)器確定安全狀態(tài)。例如,在一安全系統(tǒng)中,有源RFID標(biāo)簽可具有設(shè)置/寫入為1的安全比特,表示該產(chǎn)品尚未獲準(zhǔn)不觸發(fā)警報(bào)/警告而離開安全區(qū)域。一旦適當(dāng)情況存在,RFID系統(tǒng)和/或方法可將標(biāo)簽上的比特寫為0,指示附加標(biāo)簽產(chǎn)品被獲準(zhǔn)后可離開安全區(qū)域。
通常,RFID系統(tǒng)包括多個(gè)組件標(biāo)簽、標(biāo)簽讀取器(例如標(biāo)簽收發(fā)器)、標(biāo)簽編程站、流通讀取器、排序裝置、標(biāo)簽存貨棒等。此外,各種制作、模型、類型、和應(yīng)用可與每個(gè)組件(例如標(biāo)簽、標(biāo)簽讀取器、標(biāo)簽編程站、流通讀取器、排序裝置、標(biāo)簽存貨棒等)相關(guān)聯(lián),從而使發(fā)現(xiàn)、配置、設(shè)置、通信、維護(hù)、安全和/或RFID系統(tǒng)內(nèi)及與其它RFID系統(tǒng)的兼容性變得復(fù)雜化。考慮到上述情況,需要提供適合制作者和相關(guān)規(guī)范的發(fā)現(xiàn)、配置、設(shè)置以及與RFID裝置通信的統(tǒng)一方法。
(3)
發(fā)明內(nèi)容
以下給出了本發(fā)明的簡化歸納,以便提供對(duì)本發(fā)明一些方面的基本理解。該歸納不是本發(fā)明的廣泛縱覽。它并非旨在識(shí)別本發(fā)明的關(guān)鍵/重要元素或描繪本發(fā)明的范圍。其唯一目的是用簡化形式給出本發(fā)明的一些概念,作為后面提出的更詳細(xì)描述的序言。
本發(fā)明涉及便于實(shí)現(xiàn)一個(gè)可以執(zhí)行RFID商務(wù)處理的RFID服務(wù)器組件的系統(tǒng)和/或方法,其中RFID商務(wù)處理是一個(gè)商務(wù)處理定義,包括一個(gè)RFID事件的輸入源、一個(gè)作用于事件的處理管道和一個(gè)存儲(chǔ)處理最后結(jié)果的接收器(如,數(shù)據(jù)庫接收器、文件接收器、WS接收器,等等,其中接收器是一個(gè)概念上的終點(diǎn)并且不同的此類終點(diǎn)可以根據(jù)用戶的要求被實(shí)現(xiàn)和/或插入)。可以被理解的是RFID商務(wù)處理同樣可以被認(rèn)為和/或稱為RFID進(jìn)程。接收器組件可以接收涉及至少一個(gè)提供者的數(shù)據(jù),將數(shù)據(jù)傳送給RFID服務(wù)器組件,這可以創(chuàng)建一個(gè)和提供者關(guān)聯(lián)以執(zhí)行相關(guān)RFID進(jìn)程的RFID處理引擎。RFID提供者可以是一個(gè)協(xié)議翻譯器和連接管理器,負(fù)責(zé)軟件RFID系統(tǒng)和硬件設(shè)備之間的交互操作。提供者可以包括多個(gè)設(shè)備提供商 (如,閱讀器提供商),它們?yōu)橐粋€(gè)通常使用提供者指定的指令集的關(guān)聯(lián)的RFID設(shè)備相應(yīng)地提供至少一種服務(wù)。RFID設(shè)備可以是用于物理設(shè)備的邏輯名稱,其中RFID設(shè)備可以被編組入一個(gè)集合。一個(gè)RFID設(shè)備集合可以是設(shè)備名稱和/或應(yīng)用識(shí)別的邏輯集合。這樣,RFID服務(wù)器組件可以通過接收器組件接收涉及多個(gè)提供者的數(shù)據(jù)并無視提供者指定的命令集對(duì)多個(gè)設(shè)備執(zhí)行RFID進(jìn)程。
根據(jù)本發(fā)明的一個(gè)方面,RFID服務(wù)器組件可以與至少一個(gè)RFID提供者交互。RFID服務(wù)器組件允許設(shè)備提供商至少基于每個(gè)支持不同命令集的設(shè)備以一個(gè)統(tǒng)一的方式向RFID服務(wù)器組件提供服務(wù)。一個(gè)DSPI提供者框架允許RFID服務(wù)器組件與不同的設(shè)備以一個(gè)統(tǒng)一的方式交互,并向設(shè)備提供商提供一個(gè)非常明細(xì)的合同,合同允許它們與RFID服務(wù)器組件合作。另外,DSPI管理器組件載入和/或卸載已注冊(cè)的提供者的驅(qū)動(dòng)器。
根據(jù)本發(fā)明的另一個(gè)方面,RFID服務(wù)器組件可以包括一個(gè)設(shè)備管理器組件,管理RFID服務(wù)器利用的設(shè)備。設(shè)備管理器組件可以為請(qǐng)求RFID進(jìn)程啟動(dòng)的設(shè)備打開連接;為請(qǐng)求RFID進(jìn)程的設(shè)備保持連接開啟;當(dāng)已請(qǐng)求的設(shè)備故障時(shí)試圖重建連接;如設(shè)備連接不可被重建時(shí)產(chǎn)生一個(gè)事件;連接到已發(fā)現(xiàn)的配置完畢的設(shè)備;選擇設(shè)備以重新連接;存儲(chǔ)表示開啟設(shè)備的設(shè)備對(duì)象;并處理同步設(shè)備調(diào)用。
更進(jìn)一步地有,RFID服務(wù)器組件可以包括一個(gè)服務(wù)器管理器組件和/或一個(gè)安全管理器組件。這樣的服務(wù)器管理器組件可以控制RFID服務(wù)器組件和或其中的關(guān)聯(lián)組件的生命周期。RFID服務(wù)器組件的生命周期可以基于至少一個(gè)操作系統(tǒng)服務(wù)的生命周期而決定。此外,服務(wù)器管理器組件以適當(dāng)順序創(chuàng)建組件。安全管理器組件可以為RFID服務(wù)器組件和/或與其合作的組件提供一個(gè)授權(quán)和/或確認(rèn)。安全管理器組件可以在執(zhí)行一進(jìn)程前批準(zhǔn)許可。此外,安全管理器組件可以在添加、修改、配置、和/或從商店中刪除一個(gè)物品前提供授權(quán)。
可以被理解的是,涉及到RFID服務(wù)器組件和/或任何其他組件(與其合作的,和/或與其關(guān)聯(lián)的)的通信可以利用一個(gè)與請(qǐng)求此類通信的組件相關(guān)聯(lián)的接口。通過利用包括用于特定通信的指定方法的接口,組件之間的依賴性可以被清楚地識(shí)別到。
下文的描述和附圖詳細(xì)闡明了本發(fā)明某些說明性方面。然而,這些方面是顯而易見的本發(fā)明原則可能被應(yīng)用到的多種方式中的一些并且本發(fā)明旨在包括所有這些方面和它們的等價(jià)。結(jié)合附圖閱讀以下的詳細(xì)描述,將更清楚本發(fā)明的其他優(yōu)點(diǎn)和新穎特征。
(4)
圖1示出了一個(gè)在RFID服務(wù)器中便于進(jìn)程執(zhí)行的示例性系統(tǒng)的方框圖。
圖2示出了一個(gè)便于執(zhí)行與提供者和RFID設(shè)備相關(guān)聯(lián)進(jìn)程的示例性系統(tǒng)的方框圖。
圖3示出了一個(gè)在相關(guān)服務(wù)器中便于實(shí)現(xiàn)和/或執(zhí)行進(jìn)程的基于RFID的系統(tǒng)的方框圖。
圖4示出了一個(gè)便于RFID通信管理的示例性系統(tǒng)的方框圖。
圖5示出了一個(gè)在RFID服務(wù)器中便于通信的示例性系統(tǒng)的方框圖。
圖6示出了一個(gè)便于實(shí)現(xiàn)RFID服務(wù)器組件的示例性系統(tǒng)的方框圖。
圖7示出了一個(gè)應(yīng)用RFID服務(wù)器執(zhí)行帶有多個(gè)設(shè)備和相關(guān)提供者的RFID進(jìn)程的系統(tǒng)的方框圖。
圖8示出了一個(gè)應(yīng)用RFID服務(wù)器的示例性流程圖。
圖9示出了一個(gè)判斷和實(shí)現(xiàn)事件的示例性流程圖。
圖10示出了一個(gè)便于判斷和實(shí)現(xiàn)事件的示例性的方法。
圖11示出了一個(gè)示例性的網(wǎng)絡(luò)環(huán)境,其中可以運(yùn)用本發(fā)明的新穎性方面。
圖12示出了一個(gè)可以結(jié)合本發(fā)明應(yīng)用的示例性操作環(huán)境。
(5)
具體實(shí)施例方式
正如在此申請(qǐng)中所使用的,術(shù)語“組件”、“系統(tǒng)”和諸如此類旨在指代一個(gè)計(jì)算機(jī)相關(guān)實(shí)體、可以是硬件、軟件(如,在執(zhí)行中)、和/或固件。例如,組件可以是在處理器中運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行代碼、程序、和/或計(jì)算機(jī)。通過說明,在服務(wù)器上運(yùn)行的程序和此服務(wù)器都可以是組件。一個(gè)或多個(gè)組件可以存在于一個(gè)進(jìn)程內(nèi)并且一個(gè)組件可以位于一臺(tái)計(jì)算機(jī)和/或分布在兩臺(tái)或多臺(tái)計(jì)算機(jī)中。
本發(fā)明參考附圖進(jìn)行描述,其中通篇使用相同的引用序號(hào)指代相同元素。在下文描述中,為了說明的目的,提出大量特定細(xì)節(jié)以提供一個(gè)對(duì)本發(fā)明透徹的了解。然而明顯的是,本發(fā)明可能脫離這些特定細(xì)節(jié)而實(shí)現(xiàn)。在其他例子中,用方框圖的形式示出了眾所周知的結(jié)構(gòu)和設(shè)備以便于描述本發(fā)明。
現(xiàn)在參見附圖,圖1示出了系統(tǒng)100,它通過產(chǎn)生和/或執(zhí)行RFID商務(wù)處理便于實(shí)現(xiàn)RFID進(jìn)程,其中RFID商務(wù)處理是商務(wù)處理定義,包括RFID事件的輸入源、作用于事件的處理管線和存儲(chǔ)處理最后結(jié)果的接收器(如,數(shù)據(jù)庫接收器、文件接收器、WS接收器,等等,其中接收器是一個(gè)概念上的終點(diǎn)并且不同的此類終點(diǎn)可以根據(jù)用戶的要求被實(shí)現(xiàn)和/或插入)??梢员焕斫獾氖荝FID商務(wù)處理同樣可以被認(rèn)為和/或稱為RFID進(jìn)程。接收器組件102可以接收有關(guān)提供者104(如,提供的服務(wù)的設(shè)備提供商、EPC-G兼容提供者、所有權(quán)提供者、遺產(chǎn)提供者)的數(shù)據(jù),其中RFID服務(wù)器組件106可以利用這些數(shù)據(jù)規(guī)范與提供者104相關(guān)的RFID處理引擎以提供RFID進(jìn)程。另外,RFID提供者可以是協(xié)議翻譯器和連接管理器,負(fù)責(zé)軟件RFID系統(tǒng)和硬件設(shè)備之間的交互操作。RFID進(jìn)程可以是,但不限于是,RFID設(shè)備服務(wù)、標(biāo)簽閱讀、事件(以下討論)、標(biāo)簽寫、標(biāo)簽配置、地理追蹤、數(shù)字計(jì)數(shù),等等。
可以被理解的是RFID進(jìn)程可以與屬于提供者104中的單獨(dú)提供者的設(shè)備相關(guān)聯(lián)。例如,提供者104可以是多個(gè)為RFID設(shè)備提供服務(wù)的設(shè)備提供商(如,閱讀器提供商)。在另一個(gè)例子中,RFID進(jìn)程可被配置以消費(fèi)事件形成設(shè)備集合以及零個(gè)或多個(gè)逆流RFID進(jìn)程。這樣,可以建立對(duì)事件操作的進(jìn)程,并以管線的方式連續(xù)地加強(qiáng)它們。提供給RFID設(shè)備的服務(wù)允許功能包括,但不限于,標(biāo)簽閱讀、標(biāo)簽寫、追蹤容量,等等。換句話說,在配置一個(gè)到RFID進(jìn)程的輸入中有著巨大的靈活性。
可以被理解的是,多個(gè)提供者可以結(jié)合本發(fā)明被利用。提供者104可以是,但不限于是,EPC-GLOBAL兼容提供者,所有權(quán)提供者、遺產(chǎn)提供者,其中每個(gè)提供者都被注冊(cè)用于一個(gè)或多個(gè)相關(guān)設(shè)備。提供者104通常利用一個(gè)與提供者指定設(shè)備有關(guān)的特定指令集。例如,EPC-GLOBAL可以被聯(lián)系到EPC-G設(shè)備,其中可以相應(yīng)地建立和/或執(zhí)行RFID進(jìn)程;可以為注冊(cè)用于自動(dòng)識(shí)別設(shè)備的所有權(quán)提供者定制RFID進(jìn)程;并且RFID進(jìn)程可以特定為注冊(cè)用于遺產(chǎn)設(shè)備的遺產(chǎn)提供者。
雖然接收器組件102被描述為單獨(dú)的組件,可以被理解的是它可以另外在RFID服務(wù)器組件106中被實(shí)現(xiàn)以接收提供者的數(shù)據(jù)。接收到的提供者數(shù)據(jù)可以是,但不限于是,關(guān)聯(lián)至少一個(gè)設(shè)備的特定提供者的數(shù)據(jù)、認(rèn)證數(shù)據(jù)、設(shè)備數(shù)據(jù)、設(shè)備配置、標(biāo)簽閱讀數(shù)據(jù)、標(biāo)簽寫數(shù)據(jù)、唯一的標(biāo)識(shí)、對(duì)提供者的描述、提供者的版本、等等。當(dāng)從提供者104接收到數(shù)據(jù)后,接收器組件102可以提供這些數(shù)據(jù)給RFID服務(wù)器組件106,它允許提供者104中至少一個(gè)提供者采用至少一個(gè)RFID進(jìn)程。雖然RFID服務(wù)器組件106和提供者104被描述為利用雙向(全雙工通信制)通信,可以被理解的是這些描述不是對(duì)本發(fā)明的限制。提供者104和RFID服務(wù)器組件106可以利用單向通信來便于交互。
例如,接收器組件102可以獲取有關(guān)提供者104的數(shù)據(jù),包括,但不限于,來自設(shè)備的RFID數(shù)據(jù)、設(shè)備配置數(shù)據(jù)、提供者相關(guān)數(shù)據(jù),等等。接收器組件102可以向RFID服務(wù)器組件106傳送接收到的和/或獲取的數(shù)據(jù),其中在RFID服務(wù)器組件106中可以建立至少一個(gè)RFID處理引擎用于為特定的提供者執(zhí)行RFID進(jìn)程。另外,提供者可以代表RFID服務(wù)器組件106和/或RFID進(jìn)程提供與設(shè)備的通信??梢员焕斫獾氖?,對(duì)一個(gè)特定的提供者可以采用多個(gè)RFID進(jìn)程。另外,RFID服務(wù)器組件106可以應(yīng)用一個(gè)進(jìn)程或提供者104。例如,RFID服務(wù)器組件106可以提供涉及設(shè)備的N個(gè)進(jìn)程給第一個(gè)提供者,涉及設(shè)備的M個(gè)進(jìn)程給第二個(gè)提供者,涉及設(shè)備的O個(gè)進(jìn)程給第三個(gè)提供者...其中N,M和O是等于或大于一的整數(shù)??梢员焕斫獾氖牵纠褂萌齻€(gè)提供者,但本發(fā)明在可以被提供給進(jìn)程的提供者數(shù)目上不限于此。
除了提供RFID進(jìn)程,RFID服務(wù)器組件106可以應(yīng)用輔助這些RFID進(jìn)程的產(chǎn)生和/或銷售的功能。在收集來自接收器組件102的數(shù)據(jù)后,RFID服務(wù)器組件106可以提供對(duì)設(shè)備服務(wù)提供者的管理、借助接口的組件通信、設(shè)備管理、來自設(shè)備和/或設(shè)備管理器的事件管理、借助規(guī)則引擎的過濾和報(bào)警、RFID服務(wù)器管理、安全、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)存儲(chǔ)管理、記錄容量...在RFID服務(wù)器組件106中,可以被理解的是接口提供了通信以利用多種功能。例如,為了在RFID服務(wù)器組件106中管理設(shè)備,可以使用一個(gè)設(shè)備管理組件。為了與DSPI提供者管理組件(沒有在圖中示出)通訊,展示了一個(gè)接口。此接口包括特定協(xié)議、適配器、操作法、等等,用于在DSPI提供者管理組件和設(shè)備管理組件之間通信。這樣,通過利用特定的方法在組件之間通信,這些組件之間的依賴性被清楚地定義了。
圖2示出了一個(gè)通過從設(shè)備分離一個(gè)物理事件的發(fā)生并消費(fèi)它且在服務(wù)器應(yīng)用層(如,邏輯處理層)執(zhí)行,便于執(zhí)行RFID進(jìn)程的系統(tǒng)200,RFID服務(wù)器組件202可包括RFID引擎204,負(fù)責(zé)RFID事件處理。事件處理樹(EPT)206可以為一個(gè)抽象概念,集合了所有邏輯實(shí)體如標(biāo)簽數(shù)據(jù)源(如,閱讀器)、過濾器、規(guī)則、警報(bào)器、事件處理器、追蹤選項(xiàng)、以及接收器??梢员焕斫獾氖乔笆隹梢怨餐x一個(gè)RFID-使能的商務(wù)處理(同樣涉及如RFID進(jìn)程,和/或RFID商務(wù)處理)。
EPT206可包括至少一個(gè)或多個(gè)事件處理節(jié)點(diǎn)(EPN)208以及210,且它們?cè)谕ㄐ派像詈稀?梢员焕斫獾氖敲總€(gè)EPN可包括下述事件源集合(如,用于以特定事件格式輸入事件的事件源集合,其也可作為跨多源的事件集合器);過濾器(如,被使用以丟棄不需要的標(biāo)簽,丟棄是基于可去除在標(biāo)簽或一些邏輯內(nèi)被EPN通過簡單查找獲知的部分的約束);警報(bào)器(如,對(duì)數(shù)據(jù)流進(jìn)行評(píng)估并導(dǎo)致適當(dāng)?shù)木瘓?bào)器觸發(fā)的用戶定義的規(guī)則);轉(zhuǎn)換器(如,可選的事件處理器,將標(biāo)簽數(shù)據(jù)轉(zhuǎn)換為增值商務(wù)相關(guān)數(shù)據(jù),這些輸入事件和外部因素可被翻譯后為更高序列的應(yīng)用程序提供有用內(nèi)容);和事件接收器或用于處理節(jié)點(diǎn)的輸出。
可以被理解和認(rèn)識(shí)的是,EPN208和EPN210是源、過濾器以及轉(zhuǎn)換點(diǎn)的透明狀態(tài)。事件源集合以及事件接收器被強(qiáng)力地測定類型。通明狀態(tài)可提供對(duì)EPN的可選擇性以及可判斷和組合的安全性。過濾器和警報(bào)器是通過公布規(guī)則架構(gòu)來定義的并且在一個(gè)內(nèi)存中的規(guī)則引擎或一數(shù)據(jù)庫上執(zhí)行。這可提供管理上的敏捷性并也降低了由編譯或配置引起的進(jìn)程停滯期。
EPN208和210可被遞歸串聯(lián)在一起成為一個(gè)N列樹以形成EPT206。這可大致類似于在數(shù)據(jù)源集合之上帶有的可選過濾器和可選轉(zhuǎn)換步驟的相關(guān)數(shù)據(jù)庫查詢內(nèi)的迭代器模型。此外,警報(bào)器是相關(guān)隊(duì)列模型外的副作用。可以被理解和認(rèn)識(shí)的是此結(jié)構(gòu)和/或RFID服務(wù)器組件202可通過ISV’s和支持?jǐn)?shù)個(gè)API’s,而SI’s可建立和配置EPT206。
此外,提供者212可將RFID事件從事件分發(fā)處放入隊(duì)列214,并可以執(zhí)行相應(yīng)的事件處理樹。EPT206可作為一次事務(wù)來執(zhí)行除非另有規(guī)定,這樣提供了對(duì)RFID事件的可信賴的非重復(fù)傳遞和處理。事務(wù)可包括事件從分發(fā)隊(duì)列出列、通過多種的EPN’S處理并將處理過的事件最后放入接收器中。自定的警報(bào)器、過濾器和轉(zhuǎn)換可以加入到事務(wù)中。并可以支持批處理事件。例如,事件可以在隊(duì)列214中累積并在事務(wù)批中以規(guī)定時(shí)間間隔處理。執(zhí)行引擎同樣被測量以基于至少一部分在EPT206中建立的追蹤選項(xiàng)記錄任何必要的追蹤數(shù)據(jù)??梢员焕斫獾氖荅PN208的執(zhí)行可以是變化的。在一例中,EPN208通過調(diào)用商務(wù)規(guī)則引擎(BRE)來執(zhí)行。過濾器、警報(bào)器和轉(zhuǎn)換是借助規(guī)則引擎(RE)政策串聯(lián)在一起的組件。然而,由于靠近數(shù)據(jù),可在數(shù)據(jù)庫內(nèi)執(zhí)行EPN’s以降低跨進(jìn)程的繞行。
此外,通過利用本發(fā)明,可以使用基于應(yīng)用程序特定約束的靈活配置。通過分離邏輯事件處理將其綁定至處理節(jié)點(diǎn),達(dá)到靈活的配置。EPT206是對(duì)事件處理的邏輯描述。其物理證明借助綁定過程在配置時(shí)完成。EPT206被表示為持續(xù)的形式,如一個(gè)定義明確的XML,其事件源是非示例的。同樣地,可以有物理設(shè)備拓補(bǔ)(如,一列設(shè)備以及它們的配置-包括自動(dòng)發(fā)現(xiàn)的或手動(dòng)創(chuàng)建的)的XML表示。綁定過程可允許管理員從設(shè)備拓補(bǔ)中分配特定設(shè)備給EPT206中特定源。需要強(qiáng)調(diào)的和理解的是邏輯和物理表示法的分離是重要的,因?yàn)?1)使能一次寫入的獨(dú)立軟件供應(yīng)商(ISV)模型,其中相同的邏輯EPT可以結(jié)合不同的閱讀器拓補(bǔ)被配置在不同的環(huán)境中;(2)提供了在配置時(shí)基于閱讀器能力的網(wǎng)絡(luò)動(dòng)態(tài)最優(yōu)化。例如,如果設(shè)備有能力在源中過濾事件,一個(gè)低過濾器可被推入設(shè)備這樣就減輕網(wǎng)絡(luò)帶寬。
圖3示出了一個(gè)便于執(zhí)行RFID進(jìn)程的系統(tǒng)300,它通過使用RFID處理引擎來向注冊(cè)在設(shè)備的提供者提供這些RFID進(jìn)程。RFID服務(wù)器組件302可被利用來執(zhí)行RFID進(jìn)程。RFID服務(wù)器組件302可以是,但不限于是,大致上類似于圖2和圖1中相應(yīng)的RFID服務(wù)器組件202和RFID服務(wù)器組件102。此外,RFID服務(wù)器組件302可利用一個(gè)接收器組件(沒有示出)來獲取和/或接收數(shù)據(jù)以使用至少一個(gè)RFID進(jìn)程。RFID服務(wù)器組件302可提供多種功能??梢员焕斫獾氖牵P(guān)于這些功能的通信由接口實(shí)現(xiàn)。這些接口提供了RFID服務(wù)器組件302中組件間的通信,RFID服務(wù)器組件302提供諸如,但不限于,用于設(shè)備服務(wù)提供者的管理、借助接口的組件通信、設(shè)備管理、來自設(shè)備和/或設(shè)備管理器的事件管理、警報(bào)器、RFID服務(wù)器管理、安全、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)存儲(chǔ)管理、和/或記錄容量。
RFID服務(wù)器組件302可進(jìn)一步包括DSPI提供者管理器組件304,后者提供至少一個(gè)DSPI組件(沒有示出)間的管理和協(xié)調(diào),那些組件可大治上類似于圖2中所示的DSPI組件204。DSPI提供者管理器組件304執(zhí)行預(yù)預(yù)訂/或解除預(yù)訂的功能。對(duì)提供者的注冊(cè)和/或解除注冊(cè)功能用DSPI提供者管理器組件304管理。例如,EPC提供者可以使用RFID服務(wù)器組件302注冊(cè),為了執(zhí)行RFID進(jìn)程。特別地,RFID服務(wù)器組件302可以達(dá)到與EPC兼容設(shè)備通信、控制、設(shè)置、和/或管理的功能??梢员焕斫獾氖?,任何提供者和相關(guān)設(shè)備可以利用DSPI提供者管理組件304的注冊(cè)和/或解除注冊(cè),其中EPC提供者僅僅是一個(gè)例子且不限于此。
例如,DSPI提供者管理器組件304可以執(zhí)行對(duì)象模型中的特定接口(如,IDriverManager接口)來為提供者使用注冊(cè)和/或解除注冊(cè)功能。此外,DSPI提供者管理器組件304可以載入和/或卸載至少一個(gè)注冊(cè)過的驅(qū)動(dòng)器。這個(gè)載入和/或卸載可以通過展現(xiàn)一個(gè)接口(如,IProviderFactory接口)來執(zhí)行??梢员焕斫獾氖禽d卸驅(qū)動(dòng)器前,DSPI提供者管理器組件304可確保沒有開啟的設(shè)備從這個(gè)特定提供者(如,將要被卸載的驅(qū)動(dòng)器的提供者)建立。此外,與提供者(如,設(shè)備管理器組件、事件路由引擎、以下都會(huì)討論)交互和/或通信的組件利用接口來載入和/或卸載驅(qū)動(dòng)器(如,IProviderFactory接口),后者包括適當(dāng)?shù)耐ㄐ欧椒ā?br>
注冊(cè)后,DSPI提供者管理器組件304可以進(jìn)一步在啟動(dòng)階段創(chuàng)建至少一個(gè)提供者以發(fā)現(xiàn)新的設(shè)備。例如,可使用下述偽代碼來創(chuàng)建一個(gè)注冊(cè)過的提供者并在特定提供者中發(fā)現(xiàn)設(shè)備
interface IproviderFactory{
IProvider GetProvider(string ProviderId);
//
Void AddRefProvider(string ProviderId);
Void ReleaseProvider(string ProviderId);
Void addDiscoveryEventListener(DiscoveryEventHandler
discoveryEventHandler);//discovery event handler
}可以被理解的是,前述代碼變量引用為示例,且這些變量引用不限于本發(fā)明(如,IProviderFactory,ProviderId...)。
圖4示出了一個(gè)便于為注冊(cè)在提供者的設(shè)備執(zhí)行RFID進(jìn)程的系統(tǒng)400。RFID服務(wù)器組件402可提供RFID進(jìn)程的執(zhí)行??梢员焕斫獾氖牵琑FID服務(wù)器組件402可大致上類似于圖3中的RFID服務(wù)器組件302,其中功能和/或特性結(jié)合在此。為了建立和/或執(zhí)行RFID進(jìn)程,接收器組件(沒有示出)可以攔截、獲取、接收、傳送和/或傳輸涉及至少一個(gè)同至少一個(gè)設(shè)備注冊(cè)過的提供者的數(shù)據(jù),其中設(shè)備可以是,但不限于是,RFID設(shè)備、傳感器、網(wǎng)頁服務(wù)...此外,RFID服務(wù)器組件402可利用至少一個(gè)組件執(zhí)行多種功能,其中組件通過相應(yīng)的接口通訊。
RFID服務(wù)器組件402可進(jìn)一步包括處理管理器組件404,它可包括RFID處理引擎406。雖然處理管理器組件404被描述為包括單個(gè)RFID處理引擎406,可以被理解的是,多個(gè)RFID處理引擎406可以被一個(gè)處理管理器組件包括。此外,處理管理器組件404為這些RFID處理引擎406提供管理。此外,處理管理器組件404可執(zhí)行接口;類(如,IProcessManager類),通過它可啟動(dòng)和/或終止RFID進(jìn)程(如,開始和/或停止)。
RFID處理引擎406是為了每個(gè)由處理管理器組件404開始的RFID進(jìn)程而建立的。建立后,RFID處理引擎406執(zhí)行RFID進(jìn)程。此執(zhí)行可包括涉及安全的確認(rèn)和/或認(rèn)證、從存儲(chǔ)器載入RFID進(jìn)程、使用設(shè)備建立通信、配置設(shè)備、預(yù)訂事件、使用事件路由引擎、事件發(fā)生后將其傳遞至合適和組件、和/或解釋邏輯源和相關(guān)執(zhí)行流。
例如,RFID處理引擎406可以在過濾器、警報(bào)器、事件處理器等之間制作必要的連接??梢员焕斫獾氖沁@可被表示為靜態(tài)數(shù)據(jù)結(jié)構(gòu)。如果邏輯源(如LS1)含有一個(gè)閱讀器(如D1)以及過濾器(如F1)和事件處理器(如EH1)并結(jié)合到一個(gè)更大的邏輯數(shù)據(jù)源(如LS2),數(shù)據(jù)結(jié)構(gòu)將會(huì)含有從R1到F1,從F1到EH1,然后到LS2的引用(指針)。結(jié)構(gòu)包括發(fā)自每個(gè)設(shè)備的事件流。邏輯源可為一個(gè)RFID進(jìn)程中的主要活動(dòng)實(shí)體,其可以包括其他組件和/或?qū)⑺鼈冞壿嬤B接。每個(gè)邏輯源包括一組過濾器、一組警報(bào)器和一個(gè)事件處理器。它包括一組用于將標(biāo)簽閱讀事件加入邏輯源的源。它包括一個(gè)單獨(dú)的輸出點(diǎn),其被定義為最后一個(gè)組件的輸出。每個(gè)邏輯源同樣是在邏輯源樹中的一個(gè)節(jié)點(diǎn),它的源作為子節(jié)點(diǎn)并且它的輸出的消費(fèi)者作為父節(jié)點(diǎn)。過濾器是一個(gè)執(zhí)行在原始數(shù)據(jù)流的邏輯結(jié)構(gòu),過濾器可基于特定的約束(如,貨盤、場合、條款...)丟棄不要的標(biāo)簽閱讀和或允許特定的標(biāo)簽閱讀。警報(bào)器是一個(gè)更一般的機(jī)制以表示可對(duì)數(shù)據(jù)流評(píng)估的簡單規(guī)則。警報(bào)器可被表示為一組組合為政策的邏輯規(guī)則,并且可對(duì)包括標(biāo)簽閱讀事件的多個(gè)事件評(píng)估。這些規(guī)則的操作通常執(zhí)行一個(gè)或多個(gè)用戶定義/警報(bào)器。例如,如果一個(gè)標(biāo)簽閱讀是由邏輯源注冊(cè)在晚上6點(diǎn)至早晨6點(diǎn),即發(fā)生警鈴并通過信息警告大樓管理器。警報(bào)器也是可選結(jié)構(gòu)??梢员焕斫獾氖侨魏魏线m的編程語言可被執(zhí)行來利用這些邏輯源如,但不限于,C,C++,C#,HTML,HXML,等等。下述偽代碼是一個(gè)可擴(kuò)展標(biāo)記語言(XML)示例,可被利用來表示邏輯源
<xs:complexType name="LogicalSource">
<xs:sequence>
<xs:element minOccurs="0"maxOccurs="1"name="LogicalSourceList"type="ArrayOfLogicalSource"/>
<xs:element minOccurs="0"maxOccurs="1"name="deviceCollectionList"type="ArrayOfReaderCollection"/>
<xs:element minOccurs="0"maxOccurs="1"name="componentList"type="ArrayOfChoice1"/>
</xs:sequence>
</xs:complexType>
此外,每個(gè)RFID處理引擎406可利用一個(gè)隊(duì)列(沒有示出)。此隊(duì)列可被關(guān)聯(lián)到RFID處理引擎406,提供所有要被事件路由引擎發(fā)送的相關(guān)事件。如下文專門詳細(xì)描述,可以被理解的是事件隊(duì)列是被從邏輯處理管線(如,含有邏輯處理的物理設(shè)備通信層)分離出的。
隊(duì)列為每個(gè)設(shè)備保持了一個(gè)邏輯源列表,并擁有一個(gè)與其關(guān)聯(lián)的線程池。池內(nèi)線程的數(shù)量至少基于RFID進(jìn)程的要求來配置。此外,一個(gè)分離線程可監(jiān)控處理引擎隊(duì)列??梢员焕斫獾氖侨魏魏线m的代碼可被利用來執(zhí)行前述情況,雖然下述偽代碼示例為XML。下述代碼可被執(zhí)行來利用一個(gè)算法,其中分離線程監(jiān)控處理引擎隊(duì)列
do forever{wait on Process Engine Q;onevent,check the device that the event is from;foreach logical source that the device is part of{Wait till a thread is free in the thread pool;<!-- SIPO <DP n="13"> --><dp n="d13"/>Start the thread and give it the event to handle and the logicalsource to start from;}}
此外,可在線程池中使用一個(gè)工作者線程,其中每個(gè)線程池可執(zhí)行下述算法
nextlink=logicalsource.firstlink;while(nextlink!=null){if the nextlink is a logical sourcenextlink=logicalsource.nextlink;continue;Ifthe link is a filter{execute it.If the filter decides to passnextklink=nextlink.nextlink;else nextlink=null;continue;}If the link is an alert,pass the event to the general purpose rules engine;If the link is an event handler invoke the right event.This event might result inInvoking the event of the next event handler in the event handler chain.Nextlink=nextlink.nextlink;}
可以被理解的是為用于每個(gè)RFID進(jìn)程而建立的RFID處理引擎406可以被執(zhí)行在多個(gè)機(jī)器上,其中這些機(jī)器是一起的,分離的和/或它們組合。本發(fā)明不限于執(zhí)行建立的涉及RFID進(jìn)程的RFID處理引擎406的機(jī)器數(shù)量。此外,RFID處理引擎406與RFID服務(wù)器組件402之間的通信為接收自信息隊(duì)列中心的事件。這樣,RFID處理引擎406可從任何位置訪問信息隊(duì)列中心。
另外,如下文所描述和示出的,可以修改交互操作以發(fā)布此結(jié)構(gòu)。這可以通過允許展開RFID進(jìn)程如網(wǎng)頁服務(wù)來完成,這結(jié)合了服務(wù)體系結(jié)構(gòu)(SOA)方法和電子設(shè)計(jì)自動(dòng)化(EDA)方法。這可使能一個(gè)用于處理的分布式的,可堆疊的方法,其中終點(diǎn)可為一個(gè)接收器或其他進(jìn)程。
處理管理器組件404可進(jìn)一步包括一個(gè)規(guī)則引擎408。規(guī)則引擎可為一個(gè)用于RFID服務(wù)器組件402的通用規(guī)則引擎,它提供,例如,過濾和警報(bào)器。RFID服務(wù)器組件402中的警報(bào)器可被同步和/或異步地執(zhí)行。換句話說,調(diào)用警報(bào)器的線程不被要求等待直到線程完成。工作者線程可將一個(gè)事件傳遞至規(guī)則引擎408并進(jìn)行處理下一個(gè)鏈接。規(guī)則引擎408可擁有一個(gè)與其關(guān)聯(lián)的線程池。此外,這個(gè)池可以被設(shè)置來包含一個(gè)或多個(gè)附加的線程。
RFID服務(wù)器組件402可進(jìn)一步包括一個(gè)服務(wù)器管理器組件410。服務(wù)器管理器組件410為RFID服務(wù)器組件402提供管理類的功能。換句話說,服務(wù)器管理器組件410負(fù)責(zé)初始化RFID服務(wù)器組件402和多種提供其他功能的其他組件。服務(wù)器管理器組件410可進(jìn)一步控制RFID服務(wù)器組件402的生命周期。此外,服務(wù)器管理器組件410可提供一個(gè)或多個(gè)命令集合諸如,但不限于,系統(tǒng)識(shí)別、因特網(wǎng)協(xié)議(IP)監(jiān)控、動(dòng)態(tài)主機(jī)設(shè)置協(xié)議(DHCP)監(jiān)控、網(wǎng)絡(luò)接口監(jiān)控、設(shè)備特性監(jiān)控、邏輯源監(jiān)控、閱讀器點(diǎn)(如,物理數(shù)據(jù)源)監(jiān)控、RF天線監(jiān)控、IO端口監(jiān)控、事件通知(如,警報(bào)器)、混雜組件監(jiān)控,等等。為了通訊,服務(wù)器管理器組件410可利用一個(gè)接口(如,就象RFID服務(wù)器組件402中任何組件做的那樣)。此接口(如,服務(wù)控制管理器接口)允許RFID服務(wù)器組件402被啟動(dòng)和/終止如,例如,操作系統(tǒng)服務(wù)??梢员焕斫獾氖牵?wù)器管理器組件410可利用和/或支持這樣的兼容于RFID服務(wù)器組件402的接口和其中的任何組件。例如,ILifeCycle接口可以被利用來控制建立和破壞。這樣,服務(wù)器管理器組件410可為一個(gè)RFID服務(wù)器組件402的引導(dǎo)組件,以要求的順序建立所有其他組件。
例如,在操作系統(tǒng)服務(wù)啟動(dòng)時(shí),服務(wù)管理器組件410可以按正確的順序創(chuàng)建所有管理器組件。這樣,如果一個(gè)設(shè)備管理器組件要求一個(gè)DSPI管理器組件,服務(wù)器管理器組件410可優(yōu)先創(chuàng)建DSPI管理器組件并隨后向設(shè)備管理器組件傳遞一個(gè)指向DSPI管理器組件的引用指針。服務(wù)器管理器組件410可判斷一個(gè)組件的必要性,并創(chuàng)建此指針。此外,服務(wù)器管理器組件410可在操作系統(tǒng)服務(wù)關(guān)閉時(shí)關(guān)閉組件。繼續(xù)前例,當(dāng)操作系統(tǒng)服務(wù)關(guān)閉時(shí),服務(wù)器管理器組件410結(jié)束(如,關(guān)閉)設(shè)備管理器組件、DSPI管理器組件、和任何其他組件、管理器和/或存儲(chǔ)器。
另外,RFID服務(wù)器組件402可包括一個(gè)設(shè)備管理器組件412。設(shè)備管理器組件412可與至少一個(gè)已注冊(cè)的提供者協(xié)同工作,以管理任何或全部RFID服務(wù)器組件正在使用的設(shè)備(如,閱讀器、寫入器...)。可以被理解的是可以注冊(cè)超過一個(gè)提供者,其中相應(yīng)的提供者可包含設(shè)備,這提供給RFID服務(wù)器組件402多個(gè)設(shè)備以供管理。對(duì)這些設(shè)備的管理可包括,但不限于,向用于RFID進(jìn)程的設(shè)備打開連接、端口,等等以啟動(dòng)、向?qū)FID進(jìn)程開啟的設(shè)備保持連接、當(dāng)一個(gè)要求的設(shè)備故障時(shí),嘗試重建連接、如果設(shè)備連接不能被重建則發(fā)出設(shè)備故障事件、連接到已發(fā)現(xiàn)的(如,手動(dòng)重啟動(dòng)、修復(fù)并重連接、等等)已配置的設(shè)備并發(fā)出設(shè)備起用事件、選擇設(shè)備重新連接(如,當(dāng)一個(gè)打開的設(shè)備故障后且提供者不支持尋找)、存儲(chǔ)表示開啟的設(shè)備對(duì)象(如,可直接同設(shè)備利用這些對(duì)象來發(fā)送命令、交易,等等)、處理同步設(shè)備調(diào)用...
設(shè)備管理器組件412可以使用接口來為其他組件提供通信。例如,用于設(shè)備管理器組件的IdiscoveryManager接口可提取計(jì)劃處理組件(沒有示出)和設(shè)備管理器組件412之間的通信。例如,下述基于XML的代碼表示了此接口的應(yīng)用
interface IdiscoveryManager{
bool IsValidDevice(string deviceIdXml);
}
此外,RFID處理引擎406可利用下述接口同設(shè)備管理器組件412通訊。例如,當(dāng)一個(gè)RFID進(jìn)程開始時(shí),相關(guān)聯(lián)的RFID處理引擎406訪問任何或全部有關(guān)的(如,影響到的)設(shè)備上的方法。如下述代碼所描述的,這樣一個(gè)執(zhí)行上述的方法可被利用
interface IRMPE{
void AddrefDevice(string DeviceIdXml);
void ReleaseDevice(string DeviceIdXml)
}
當(dāng)RFID進(jìn)程停止時(shí),使用一個(gè)方法來釋放設(shè)備(如,此方法用指針ReleaseDevice表示)。可以被理解的是只要出現(xiàn)至少一個(gè)指向設(shè)備的指針,設(shè)備管理器組件412可保持相一致的連接。此外,設(shè)備管理器組件412可利用一個(gè)接口(如,IProvider接口),它展現(xiàn)了涉及DSPI組件(如,類似圖2中的DSPI組件204)的ISPI接口的子集。設(shè)備管理器組件412可建立設(shè)備并通過檢驗(yàn)認(rèn)證序列檢查設(shè)備的有效性。此外,可以被理解的是設(shè)備管理器組件412不必調(diào)用ISPI接口上的所有方法,這樣不必在ISPI上展現(xiàn)所有的方法。下述XML代碼是一個(gè)執(zhí)行了前述的例子
Interface IProvider{
IDevice GetDevice(string deviceIdXml);
bool IsValidDevice(string deviceIdXml);
}
RFID服務(wù)器組件402可進(jìn)一步提供事件路由引擎(ERE)組件414。ERE組件414可處理從設(shè)備和設(shè)備管理器組件412發(fā)出的事件。事件可以是,但不限于是,標(biāo)簽閱讀事件、標(biāo)簽讀/寫錯(cuò)誤、設(shè)備起用/故障事件,等等。RFID服務(wù)器組件402中的利用事件的組件可由ERE組件414來預(yù)訂這些事件。此外,ERE組件414管理和/或處理對(duì)任何預(yù)訂者(如,使用預(yù)訂事件的任何組件)的事件的傳遞。例如,RFID處理引擎406是一個(gè)至少基于上述功能的事件的預(yù)訂。此外,可以被理解的是ERE組件414沒有添加一個(gè)指向提供者的引用指針,但利用了接口中的一個(gè)方法(如,addDiscoveryEventListener)來向提供者注冊(cè)自身。
ERE組件414可使用一個(gè)接口(如,IDeviceEventSubscriber接口)來注冊(cè)一個(gè)給標(biāo)簽閱讀事件和諸如設(shè)備健康事件的設(shè)備管理事件的回叫,一個(gè)回叫處理器(沒有示出)可將一個(gè)事件寫入信息隊(duì)列中心。一個(gè)新的事件可以在隊(duì)列(如,CommonQ)中。另一個(gè)線程將它寫入數(shù)據(jù)存儲(chǔ)器(沒有示出)并可基于至少下述情況將該事件發(fā)送給另一個(gè)信息隊(duì)列中心發(fā)現(xiàn)事件被發(fā)送到發(fā)現(xiàn)隊(duì)列(如,DiscoveryQ);對(duì)每個(gè)RFID處理引擎406存在一個(gè)隊(duì)列諸如,但不限于,設(shè)備關(guān)聯(lián)事件(如,標(biāo)簽閱讀、管理事件、和健康事件)被發(fā)送到相關(guān)的RFID處理引擎隊(duì)列;...可以被認(rèn)識(shí)的是ERE組件414可保持一個(gè)設(shè)備到RFID處理引擎映射的表格。此外,可以被理解的是超過一個(gè)RFID處理引擎可利用一個(gè)設(shè)備。
按照本發(fā)明一個(gè)方面,在來自提供者的事件被發(fā)送到RFID處理引擎406前,隊(duì)列(如,CommonQ)可產(chǎn)生類似緩沖器的效果。設(shè)備和/或提供者可產(chǎn)生類似事件生產(chǎn)者的效果,此時(shí)RFID處理引擎406可為此類事件的消費(fèi)者。這個(gè)方法提供的優(yōu)點(diǎn)諸如,但不限于,RFID處理引擎可運(yùn)行發(fā)生例外的用戶代碼,其中用戶代碼可用下一個(gè)類似輸入的事件重新啟動(dòng);對(duì)事件的監(jiān)聽(如,由每個(gè)設(shè)備)和事件處理可以不同的速率發(fā)生,等等。
ERE組件414可利用下述XML代碼來執(zhí)行與RFID服務(wù)器組件402和/或其他組件通信的接口
interface IEventRoutingEngine{
void SubscribeToDeviceEvents(string[]deviceIds,string queueName);//each
RFID process engine will call this
void SubscribeToDiscoverEvents(string discoveryQueueName);//the design
handler component calls this
}
//此預(yù)訂者獲得了直接來自提供者的標(biāo)簽閱讀事件以及由設(shè)備管理器組件
//產(chǎn)生的設(shè)備管理事件
interface IdeviceEventSubscriber{
ResponseEvent getEventHandler();
)
可以被理解的是上述代碼示例僅僅是一個(gè)示例且本發(fā)明不限于此。
圖5示出了系統(tǒng)500,它便于執(zhí)行RFID服務(wù)器組件502以向用至少一個(gè)設(shè)備注冊(cè)的提供者提供RFID進(jìn)程,設(shè)備諸如,但不限于,RFID設(shè)備、傳感器、實(shí)時(shí)事件發(fā)生系統(tǒng)、網(wǎng)頁服務(wù)...RFID服務(wù)器組件502可被考慮為大致上類似于圖1、圖2、圖3、圖4中所示的RFID服務(wù)器組件。前述的功能符合于RFID服務(wù)器組件502(如,涉及通信的接口實(shí)現(xiàn)、組件功能容量、使用RFID進(jìn)程...)
RFID服務(wù)器組件502包括安全管理器組件504,它為RFID服務(wù)器組件502提供授權(quán)和/或確認(rèn)。為了將一個(gè)授權(quán)過程合并入RFID服務(wù)器組件502,安全管理器組件504可為RFID服務(wù)器組件502中的組件提供可用的類和/或方法以便于控制授權(quán)和/或可接入性。
參照示例,安全管理器組件504可在執(zhí)行RFID進(jìn)程前檢查一個(gè)用戶許可級(jí)。如果用戶擁有合適的許可級(jí),RFID進(jìn)程可以被執(zhí)行。然而,如果用戶沒有要求的許可級(jí),RFID進(jìn)程會(huì)不允許RFID進(jìn)程的執(zhí)行。此外,安全管理器組件504可在存儲(chǔ)器內(nèi)建立關(guān)于對(duì)象的許可(下文討論)。特別地,安全管理器組件504可在存儲(chǔ)器內(nèi)授權(quán)和/或取消授權(quán)一個(gè)對(duì)象操作。操作可以是,但不限于,對(duì)一個(gè)對(duì)象的添加、修改、刪除、配置,等等。
RFID服務(wù)器組件502可包括一個(gè)發(fā)現(xiàn)設(shè)備和/或與其關(guān)聯(lián)的屬性的設(shè)計(jì)處理組件506??烧宫F(xiàn)一個(gè)接口(如,IDeviceHandler接口)通過利用下述代碼提供此類方法和/或技術(shù)。
public enum DiscoverOptions{ALL=0,NON_CONFIGURED DEVICES}
public interface IDeviceHandler{
string[]FindDevices(DiscoveryOptions discoveryOptions);
string GetSupportedProperties(string deviceId);
bool IsValidId(string DeviceId);
}
上述代碼是基于XML,然而可以被理解的是任何合適的計(jì)算機(jī)可編程語言(C,Visual Basic,Assembly,Pascal,...)可被本發(fā)明執(zhí)行并且不能被認(rèn)為是一個(gè)局限。上述XML代碼可返回一個(gè)允許這些設(shè)備連接的設(shè)備ID列表。設(shè)備可被過濾(如,利用"DiscoverOptions enum")。此外,代碼可返回一個(gè)對(duì)應(yīng)于帶有設(shè)備ID的設(shè)備的設(shè)備支持屬性的列表,其中返回值是一個(gè)符合屬性文件的XML串??梢员焕斫獾氖窃O(shè)備屬性對(duì)于所發(fā)現(xiàn)的設(shè)備ID是特定的。代碼判斷ID是否表示一個(gè)有效設(shè)備(如,可連接的設(shè)備)。例如,如果設(shè)備離線、故障、沒有被預(yù)訂、沒有被授權(quán),等等,此設(shè)備可以是非有效的。
特別地,設(shè)計(jì)處理器組件506可提供下述監(jiān)聽設(shè)備發(fā)現(xiàn)代理(如,ERE組件中的DiscoveryQ);設(shè)備發(fā)現(xiàn)代理的集合;判斷設(shè)備有效和/或移除故障設(shè)備(如,利用方法,如類似IsValidDevice());通過與存儲(chǔ)器通信返回沒有配置的設(shè)備和/或移除已配置設(shè)備;等等。例如,設(shè)計(jì)處理器組件506可發(fā)現(xiàn)一設(shè)備,如RFID設(shè)備,其中此RFID設(shè)備包含與其關(guān)聯(lián)的特定屬性。除了設(shè)備的發(fā)現(xiàn)外,設(shè)計(jì)處理器組件506可發(fā)現(xiàn)與已發(fā)現(xiàn)設(shè)備有關(guān)的特定屬性。
RFID服務(wù)器組件502可進(jìn)一步包括數(shù)據(jù)存儲(chǔ)器508和/或進(jìn)程存儲(chǔ)器510。數(shù)據(jù)存儲(chǔ)器508可保持和/或存儲(chǔ)事件。特別地,事件如下,但不限于此,標(biāo)簽閱讀事件、標(biāo)簽讀/寫錯(cuò)誤、設(shè)備啟用/故障事件,等等??梢员焕斫獾氖菙?shù)據(jù)存儲(chǔ)器508可被利用來提供用于報(bào)告和/或提供原始數(shù)據(jù)流(如,為用于插入功能的外部應(yīng)用程序)的記錄。此外,數(shù)據(jù)存儲(chǔ)器508可被至少基于數(shù)據(jù)壽命的周期性更新和/或清理。
進(jìn)程存儲(chǔ)器510可保持和/或存儲(chǔ)RFID進(jìn)程對(duì)象和/或涉及它的相關(guān)對(duì)象。這些相關(guān)對(duì)象可以是,但不限于是,設(shè)備和/或設(shè)備集合(如,閱讀器和閱讀器集合)。此外進(jìn)程存儲(chǔ)器510包括與這些存儲(chǔ)的/保持的對(duì)象有關(guān)的授權(quán)信息??梢员焕斫獾氖侨魏沃С纸涌?如,IStore接口)持續(xù)機(jī)制可以是一個(gè)進(jìn)程存儲(chǔ)器。另外,在進(jìn)程存儲(chǔ)器510中的對(duì)象可通過利用已定義的對(duì)象模型來閱讀和/或操作(如,其中對(duì)象模型不被任何服務(wù)器中的組件所保存并且是一個(gè)獨(dú)立的集合,可被一個(gè)或多個(gè)用戶同時(shí)使用)。
可以被理解的是數(shù)據(jù)存儲(chǔ)器508和/或進(jìn)程存儲(chǔ)器510可位于RFID服務(wù)器組件502內(nèi)和/或位于遠(yuǎn)程服務(wù)器/位置。數(shù)據(jù)存儲(chǔ)器508和/或進(jìn)程存儲(chǔ)器510可以是,例如,易失存儲(chǔ)器或非易失存儲(chǔ)器、或可包括易失和非易失存儲(chǔ)器。作為說明,但不限于,非易失存儲(chǔ)器可包括只讀存儲(chǔ)器(ROM),可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)、或閃速存儲(chǔ)器。易失存儲(chǔ)器可包括作為外部高速緩沖存儲(chǔ)器的隨機(jī)存儲(chǔ)器(RAM)。作為說明但不限于,RAM可用于多種形式諸如靜態(tài)RAM(SRAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍速率SDRAM(DDR SDRAM)、增強(qiáng)SDRAM(ESDRAM)、同步連接DRAM(SLDRAM)、Rambus直接RAM(RDRAM)、直接Rambus動(dòng)態(tài)RAM(DRDRAM)、以及Rambus動(dòng)態(tài)RAM(RDRAM)。本系統(tǒng)和方法的數(shù)據(jù)存儲(chǔ)器508和/或進(jìn)程存儲(chǔ)器510旨在包括,但不限于,這些以及任何其他合適種類的存儲(chǔ)器。
存儲(chǔ)器管理器組件412可管理和/或處理到至少一個(gè)數(shù)據(jù)存儲(chǔ)器508和進(jìn)程存儲(chǔ)器510的連通性。存儲(chǔ)管理器組件512可作為圍繞每個(gè)存儲(chǔ)器的包裝。此外,存儲(chǔ)管理器組件512可保證到每個(gè)存儲(chǔ)器的連接是可用的。同樣可以被理解和了解的是,數(shù)據(jù)存儲(chǔ)器508和進(jìn)程存儲(chǔ)器510之間的存儲(chǔ)活動(dòng)是通過存儲(chǔ)管理器組件512來發(fā)送的。
圖6示出了一個(gè)使用智能(如,機(jī)器學(xué)習(xí))來便于實(shí)現(xiàn)RFID服務(wù)器組件602的系統(tǒng)600。系統(tǒng)600包括RFID服務(wù)器組件602,它可為提供者604提供RFID進(jìn)程。RFID服務(wù)器組件602可接收涉及至少一個(gè)提供者的數(shù)據(jù),其中這些數(shù)據(jù)便于對(duì)特定提供者使用RFID進(jìn)程。此外,RFID服務(wù)器組件602可調(diào)用一個(gè)智能組件606以便于使用這些RFID進(jìn)程。當(dāng)接收到涉及特定提供者的數(shù)據(jù)后,智能組件606可便于對(duì)這些提供者使用RFID進(jìn)程。可以被理解的是雖然智能組件606被圖示為在RFID服務(wù)器組件602中,智能組件606不限于此。換句話說,智能組件606可被合并到RFID服務(wù)器組件602、任何RFID服務(wù)器組件602的組件、獨(dú)立的單元、和/或任何它們的組合。
可以被理解的是智能組件606可從一組通過事件和/或數(shù)據(jù)獲取的觀察中提供對(duì)系統(tǒng)狀態(tài)、環(huán)境、和/或用戶的思考和推理。推論可被使用來辨認(rèn)特定內(nèi)容或行為,或例如可產(chǎn)生狀態(tài)的概率分布。推論可以是概率性的——即有關(guān)狀態(tài)的概率分布的計(jì)算是基于對(duì)數(shù)據(jù)和事件的考慮。推論也可涉及到用于從一組事件和/或數(shù)據(jù)組成更高級(jí)別事件的技術(shù)。這些推論導(dǎo)致從觀察得的事件和/或存儲(chǔ)的事件數(shù)據(jù)中新事件或行為的構(gòu)建、不論事件是否是緊密的時(shí)間接近相關(guān)的、以及事件和數(shù)據(jù)是否來自一個(gè)或多個(gè)事件或數(shù)據(jù)源。多種類別(直接和/或間接連續(xù))方案和/或系統(tǒng)(如,支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、貝葉斯網(wǎng)絡(luò)、模糊邏輯、數(shù)據(jù)融合引擎...)可結(jié)合執(zhí)行自動(dòng)化和/或與本發(fā)明有關(guān)的推斷行為被使用。此外,可以被理解的是結(jié)合本發(fā)明作為的推論可以是通過基于規(guī)則引擎的推論。
圖7示出了一個(gè)結(jié)合一個(gè)DSPI管理器組件706,便于利用RFID服務(wù)器組件702為多個(gè)設(shè)備和相關(guān)提供者提供統(tǒng)一的通信和管理器的系統(tǒng)700。提供者704可包括多個(gè)提供者,諸如EPC-G兼容提供者708、第一所有權(quán)提供者710、第二所有權(quán)提供者712。可以被理解的是提供者704使能對(duì)相關(guān)設(shè)備的服務(wù)。例如,EPC-G兼容提供者708可關(guān)聯(lián)于EPC-GLOBAL設(shè)備714、第一所有權(quán)提供者710可關(guān)聯(lián)于第一遺產(chǎn)設(shè)備716、第二所有權(quán)提供者712可關(guān)聯(lián)于第二遺產(chǎn)設(shè)備718??梢员焕斫獾氖?,DSPI管理器組件706通過DSPI組件(沒有示出)與用于相關(guān)設(shè)備(如,EPC-全球兼容設(shè)備714、第一遺產(chǎn)設(shè)備716、第二遺產(chǎn)設(shè)備718)現(xiàn)有的提供者704中的一個(gè)進(jìn)行交互。DSPI組件(沒有示出)提供了統(tǒng)一的方式,其中提供者704為中間件產(chǎn)品提供服務(wù),類似每個(gè)設(shè)備支持一個(gè)不同的命令組。換句話說,DSPI組件(沒有示出)定義了用于設(shè)備供應(yīng)商(如,以及相關(guān)設(shè)備)的接口以統(tǒng)一地為RFID服務(wù)器組件702提供服務(wù)。
圖8-10示出了根據(jù)本發(fā)明的操作法。為了說明的簡便,用一系列動(dòng)作來圖示和描述操作法??梢员焕斫夂土私獾氖潜景l(fā)明不限于所示出的動(dòng)作和/或動(dòng)作的次序,例如動(dòng)作可以發(fā)生在不同的次序和/或同時(shí)發(fā)生,并且同沒有在這里表示和描述出的動(dòng)作一起。此外,不是所有示出的動(dòng)作對(duì)實(shí)現(xiàn)根據(jù)本發(fā)明的操作法是必須的。此外,本領(lǐng)域熟練技術(shù)人員可以理解和了解此操作法可有另選地通過一個(gè)狀態(tài)圖或事件被表示為一系列相互關(guān)聯(lián)的狀態(tài)。
圖8示出了一個(gè)便于實(shí)現(xiàn)允許一個(gè)為至少一個(gè)提供者執(zhí)行RFID進(jìn)程的RFID服務(wù)器組件的操作法800。在引用序號(hào)802,RFID服務(wù)器啟動(dòng)。通過一個(gè)提供位于或關(guān)聯(lián)于RFID服務(wù)器的組件的創(chuàng)建和/或破壞的RFID服務(wù)器管理器組件可實(shí)現(xiàn)RFID服務(wù)器。換句話說,服務(wù)器管理器組件是一個(gè)以要求的次序建立任何組件的引導(dǎo)程序組件。在一個(gè)例子中,結(jié)合一個(gè)操作系統(tǒng)服務(wù)的開啟和關(guān)閉,RFID服務(wù)器可被開啟和關(guān)閉。接著,在引用序號(hào)804,提供者被注冊(cè)和/或取消注冊(cè)。為了執(zhí)行一個(gè)RFID進(jìn)程,提供者(在其之上執(zhí)行進(jìn)程)向RFID服務(wù)器注冊(cè)。除了注冊(cè)活動(dòng),驅(qū)動(dòng)程序被載入和/或卸載至服務(wù)器??梢员焕斫夂土私獾氖且粋€(gè)提供者必須被注冊(cè)以便這些提供者內(nèi)包含的設(shè)備可被利用。
下面,在806,至少基于這些包含在已注冊(cè)的提供者內(nèi)的設(shè)備來管理設(shè)備。提供者可涉及到一特殊設(shè)備,諸如,但不限于,帶有相關(guān)配置設(shè)置的RFID設(shè)備。這些設(shè)備的管理可包括,但不限于,連接保持、設(shè)備可用、發(fā)現(xiàn)、設(shè)備對(duì)象管理、同步調(diào)用管理,等等。在引用序號(hào)808,事件被處理。事件發(fā)出自設(shè)備(如,RFID閱讀器、RFID寫入器、傳感器...)和設(shè)備管理器組件。這些事件可以是,但不限于,標(biāo)簽閱讀、標(biāo)簽讀/寫錯(cuò)誤、設(shè)備啟用/故障事件,等等。對(duì)這些事件的處理可包括,但不限于,預(yù)訂事件、將事件傳遞給預(yù)訂者、將事件寫入信息隊(duì)列中心,等等。在引用序號(hào)810,由一個(gè)用于至少一個(gè)涉及設(shè)備的提供者的處理引擎創(chuàng)建和執(zhí)行一個(gè)RFID進(jìn)程??梢员焕斫獾氖菍?duì)于一個(gè)單個(gè)提供者存在多個(gè)RFID進(jìn)程,并且存在多個(gè)提供者對(duì)應(yīng)于一個(gè)單個(gè)RFID服務(wù)器組件。
圖9示出了便于使用結(jié)合一個(gè)基于標(biāo)簽的流利用RFID處理引擎的RFID進(jìn)程的操作法900??梢员焕斫獾氖遣僮鞣?00為每個(gè)RFID處理引擎利用了一組線程,其中每個(gè)線程完成的工作大致上類似于下述討論。在902,判斷出一個(gè)閱讀事件。例如,一個(gè)閱讀事件可被從一個(gè)隊(duì)列(如,一RFID處理引擎隊(duì)列)中選出。在引用序號(hào)904,利用一個(gè)包含設(shè)備的邏輯源。線程可以通過可包含創(chuàng)建類似事件的設(shè)備的邏輯源。接下來到906,線程通過過濾器隊(duì)列。繼續(xù)到908,如當(dāng)通過過濾器隊(duì)列時(shí),一個(gè)過濾器阻擋了事件,進(jìn)程繼續(xù)到902,如果沒有過濾器阻擋事件,進(jìn)程繼續(xù)至910。在引用序號(hào)910,事件被送到警報(bào)器。當(dāng)事件被送到警報(bào)器時(shí),警報(bào)器可同步和/或異步按照事件運(yùn)行。在912,線程通過事件處理器序列,其中最后的事件處理器的輸出事件是邏輯源的輸出。如果在引用序號(hào)914,一個(gè)邏輯源是在線程剛通過的邏輯源內(nèi)的,那么線程繼續(xù)到906。如果沒有邏輯源在當(dāng)前邏輯源,那么在916,事件被送給接收器。
圖10示出了便于使用結(jié)合一個(gè)基于邏輯源流(如,管線流)使用RFID處理引擎RFID進(jìn)程的操作法1000??梢员焕斫獾氖窃诓僮鞣?000中,每個(gè)邏輯源是一個(gè)活動(dòng)實(shí)體且每個(gè)步驟被重復(fù)完成。從引用序號(hào)1002開始,利用一個(gè)來自諸如,但不限于,工作項(xiàng)目隊(duì)列的事件地址。接下來到1004,事件被傳送通過一個(gè)過濾器序列。如果一個(gè)過濾器在1006阻擋了事件,方法繼續(xù)到1002。如果沒有過濾器阻擋事件,進(jìn)程繼續(xù)到1008,在那里事件被送到規(guī)則引擎。規(guī)則引擎可非同時(shí)按照事件運(yùn)行。在引用序號(hào)1010,事件被送到事件處理引擎,其中可非同時(shí)按照事件運(yùn)行。接下來在1014,作出一個(gè)判斷,此邏輯源是否是根邏輯源。如果不是根邏輯源,進(jìn)程繼續(xù)到1002。如果邏輯源是根邏輯源,事件在1016被送到接收器??梢员焕斫獾氖鞘录幚硪婵商幚斫邮盏降氖录⑾嚓P(guān)輸出傳輸給位于父邏輯源的邏輯源隊(duì)列(如,工作項(xiàng)目隊(duì)列)。
為了提供用于實(shí)現(xiàn)本發(fā)明各種方面的附加環(huán)境,圖11-12以及下述討論旨在提供一個(gè)簡要的、常規(guī)的對(duì)一個(gè)合適的計(jì)算環(huán)境的描述,其中本發(fā)明的各種方面可被實(shí)現(xiàn)。雖然已經(jīng)以運(yùn)行在本地計(jì)算機(jī)和/或遠(yuǎn)程計(jì)算機(jī)上的計(jì)算機(jī)程序中的計(jì)算機(jī)可執(zhí)行指令的常規(guī)內(nèi)容在環(huán)境中描述了本發(fā)明,本領(lǐng)域的熟練技術(shù)人員會(huì)認(rèn)識(shí)到本發(fā)明也可結(jié)合其他程序模塊來實(shí)現(xiàn)。通常地,程序模塊包括執(zhí)行特定任務(wù)和/或執(zhí)行特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu),等等。
此外,本領(lǐng)域熟練技術(shù)人員會(huì)理解本發(fā)明方法可適用于其他計(jì)算機(jī)系統(tǒng)配置,包括單處理器或多處理器系統(tǒng)、微計(jì)算機(jī)、大型計(jì)算機(jī)、以及個(gè)人計(jì)算機(jī)、手持計(jì)算設(shè)備、基于微處理器和/或可編程消費(fèi)品電器、以及諸如此類,其中的每一個(gè)在操作上與一個(gè)或多個(gè)相關(guān)聯(lián)的設(shè)備通信。本發(fā)明所示方面可同樣適用于分布式計(jì)算環(huán)境,其中某些任務(wù)被通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。然而,一些,但不全是,本發(fā)明的方面可被適用于獨(dú)立計(jì)算機(jī)。在一個(gè)分布式計(jì)算環(huán)境中,程序模塊可位于本地和/或遠(yuǎn)程存儲(chǔ)設(shè)備中。
圖11是本發(fā)明可與之交互的示例計(jì)算環(huán)境1100的原理框圖。系統(tǒng)1100包括一個(gè)或多個(gè)客戶機(jī)1110。客戶機(jī)1110可為硬件和/或軟件(如,線程、進(jìn)程、計(jì)算設(shè)備)。系統(tǒng)1100也包括一個(gè)或多個(gè)服務(wù)器1120。服務(wù)器1120可為硬件和/或軟件(如,線程、進(jìn)程、計(jì)算設(shè)備)。例如,服務(wù)器1120可安置線程以通過運(yùn)用本發(fā)明執(zhí)行轉(zhuǎn)換。
一個(gè)可能的客戶機(jī)1110和服務(wù)器1120之間的通信可為適于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程間傳輸?shù)臄?shù)據(jù)包的形式。系統(tǒng)1100包括通信架構(gòu)1140,它可運(yùn)用來便于客戶機(jī)1110和服務(wù)器1120之間的通信??蛻魴C(jī)1110可在操作上連接到一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)器1150,它可被用于為客戶機(jī)1110在本地存儲(chǔ)信息。類似地,服務(wù)器1120在操作上連接到一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)器1130,它可被用于為服務(wù)器1140在本地存儲(chǔ)信息。
參考圖12,一個(gè)用于實(shí)現(xiàn)本發(fā)明多個(gè)方面的示例性的環(huán)境1200包括計(jì)算機(jī)1212。計(jì)算機(jī)1212包括一處理單元1214、一系統(tǒng)存儲(chǔ)器1216、以及一系統(tǒng)總線1218。系統(tǒng)總線1218將系統(tǒng)組件包括,但不限于,系統(tǒng)存儲(chǔ)器1216連接至處理單元1214。處理單元1214可為任何種類的可用處理器。雙微處理器和其他多處理器體系結(jié)構(gòu)也可被使用,類似于處理單元1214。
系統(tǒng)總線1218可為多種總線結(jié)構(gòu)的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍設(shè)備總線或外部總線、和/或使用多種可用總線結(jié)構(gòu)的任何一種局域總線包括,但不限于,工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)、微信道體系結(jié)構(gòu)(MSA)、擴(kuò)展ISA(EISA)、智能驅(qū)動(dòng)電子電路(IDE)、VESA本地總線(VLB)、外圍部件互連(PCI)、卡片總線、通用串行總線(USB)、高級(jí)圖像端口(AGP)、個(gè)人計(jì)算機(jī)存儲(chǔ)器卡片國際協(xié)會(huì)總線(PCMCIA)、火線(IEEE 1394)、以及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。
系統(tǒng)存儲(chǔ)器1216包括易失存儲(chǔ)器1220以及非易失存儲(chǔ)器1222。在非易失存儲(chǔ)器1222中存儲(chǔ)了基本輸入/輸出系統(tǒng)(BIOS),包括諸如在啟動(dòng)時(shí)在計(jì)算機(jī)1212內(nèi)各元件之間傳輸信息的基本例程。作為說明,但不限于此,非易示存儲(chǔ)器1222可包括只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)、或閃速存儲(chǔ)器。易失存儲(chǔ)器可包括作為外部高速緩沖存儲(chǔ)器的隨機(jī)存儲(chǔ)器(RAM)。作為說明但不限于此,RAM可用于多種形式諸如靜態(tài)RAM(SRAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍速率SDRAM(DDR SDRAM)、增強(qiáng)SDRAM(ESDRAM)、同步連接DRAM(SLDRAM)、Rambus直接RAM(RDRAM)、直接Rambus動(dòng)態(tài)RAM(DRDRAM)、以及Rambus動(dòng)態(tài)RAM(RDRAM)。
計(jì)算機(jī)1212也包括可移動(dòng)/不可移動(dòng)、易失/非易失計(jì)算機(jī)存儲(chǔ)介質(zhì)。圖12示出一例磁盤存儲(chǔ)器1224。磁盤存儲(chǔ)器1224包括,但不限于,下列設(shè)備諸如磁盤驅(qū)動(dòng)器、軟盤起動(dòng)器、磁帶驅(qū)動(dòng)器、Jaz驅(qū)動(dòng)器、Zip驅(qū)動(dòng)器、LS-100驅(qū)動(dòng)器、閃速存儲(chǔ)卡、或存儲(chǔ)棒。此外,磁盤存儲(chǔ)器1224可包括與其他存儲(chǔ)器介質(zhì)分離或結(jié)合的存儲(chǔ)器介質(zhì),包括,但不限于,光盤驅(qū)動(dòng)器諸如高密度光盤ROM設(shè)備(CD-ROM)、CD可錄驅(qū)動(dòng)器(CD-R Drive)、CD可擦寫驅(qū)動(dòng)器(CD-RW Drive)或數(shù)字式通用光盤ROM驅(qū)動(dòng)器(DVD-ROM)。為了便于磁盤存儲(chǔ)器1224至系統(tǒng)總線1218的連接,通常使用一可移動(dòng)或不可移動(dòng)的接口,如接口1226。
可以被理解的是圖12描述了軟件,作為用戶以及在適宜操作環(huán)境1200中描述過的基本計(jì)算機(jī)資源之間的中介。此類軟件包括操作系統(tǒng)1228。操作系統(tǒng)1228,可被存儲(chǔ)在磁盤存儲(chǔ)器1224中,起著控制和分配計(jì)算機(jī)系統(tǒng)1212資源的作用。系統(tǒng)應(yīng)用程序1230通過存儲(chǔ)在系統(tǒng)存儲(chǔ)器1216或磁盤存儲(chǔ)器1224上的程序模塊1232以及程序數(shù)據(jù)1234,利用操作系統(tǒng)1228對(duì)資源的管理??梢员焕斫獾氖潜景l(fā)明可用多種操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)。
用戶通過設(shè)備1236向計(jì)算機(jī)1212鍵入命令或信息。輸入設(shè)備1236包括,但不限于,諸如鼠標(biāo)的定位設(shè)備、軌跡球、手寫筆、觸摸屏、鍵盤、麥克風(fēng)、搖桿、游戲控制器、衛(wèi)星天線、掃描儀、電視轉(zhuǎn)換卡、數(shù)碼相機(jī)、數(shù)字式錄像機(jī)、網(wǎng)絡(luò)照相機(jī)、以及諸如此類。這些以及其他輸入設(shè)備通過系統(tǒng)總線1218借助接口端口1238連接到處理單元1214。接口端口1238包括,例如,串行口、并行口、游戲端口、以及通用串行總線(USB)。輸出設(shè)備1240使用一些與輸入設(shè)備一樣類型的端口。這樣,例如,一USB端口可被使用來提供向計(jì)算機(jī)1212的輸入,以及從計(jì)算機(jī)1212向輸出設(shè)備1240輸出信息。輸出適配器1242被提供來表示一些輸出設(shè)備1240諸如顯示器、揚(yáng)聲器、以及打印機(jī),同其他輸出設(shè)備1240相比,需要特殊的適配器。輸出適配器1242包括,作為說明但不限于,提供輸出設(shè)備1240以及系統(tǒng)總線1218之間連接裝置的視頻及音頻卡。需要注意的是其他一些設(shè)備和/或設(shè)備系統(tǒng)提供輸入和輸出能力,如遠(yuǎn)程計(jì)算機(jī)1244。
計(jì)算機(jī)1212可運(yùn)作在使用邏輯連接到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)1244的網(wǎng)絡(luò)化的環(huán)境中。遠(yuǎn)程計(jì)算機(jī)1244可為個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工作站、基于微處理器的電器、對(duì)等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn)以及諸如此類,并通常包括許多或所有被描述為與計(jì)算機(jī)1212有關(guān)的元件。為了簡短,只結(jié)合遠(yuǎn)程計(jì)算機(jī)1244示出了一個(gè)內(nèi)存存儲(chǔ)器1246。遠(yuǎn)程計(jì)算機(jī)1244通過網(wǎng)絡(luò)接口1248邏輯連接到計(jì)算機(jī)1212并且物理上連接到通信連接器1250。網(wǎng)絡(luò)接口1248包括了有線和/或無線通信網(wǎng)絡(luò)諸如局域網(wǎng)(LAN)以及廣域網(wǎng)(WAN)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)、令牌環(huán)以及諸如此類。WAN技術(shù)包括,但不限于,點(diǎn)對(duì)點(diǎn)鏈接、電路交換網(wǎng)絡(luò)類似綜合服務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)以及其變形,包交換網(wǎng)絡(luò)、以及數(shù)字用戶鏈接(DSL)。
通信連接器1250指的是被使用來將網(wǎng)絡(luò)接口1248連接到總線1218的硬件/軟件。通信連接器1250為了說明清楚起見被顯示為在計(jì)算機(jī)1212中,他同樣可在計(jì)算機(jī)1212外部。對(duì)連接到網(wǎng)絡(luò)接口1248必要的硬件/軟件包括,僅為示例用途,內(nèi)部及外部技術(shù)諸如,調(diào)制解調(diào)器包括常規(guī)電話級(jí)調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器以及DSL調(diào)制解調(diào)器、ISDN適配器、以及以太網(wǎng)網(wǎng)卡。
以上所述包括本發(fā)明的諸多示例。當(dāng)然,為描述本發(fā)明而對(duì)每一能想到的組件或方法組合進(jìn)行描述是不可能的,但本領(lǐng)域普通技術(shù)人員明白本發(fā)明的更多組合和變更是可能的。因此,本發(fā)明旨在包含所有這樣的在所附權(quán)利要求書精神和范圍內(nèi)的變更、修改、和變化。
特別地并對(duì)于由上述組件、裝置、電路、系統(tǒng)等執(zhí)行的各種功能,用于描述那些組件的術(shù)語(包括對(duì)“裝置”的引用)旨在對(duì)應(yīng)于執(zhí)行所述組件(例如功能對(duì)等體)的特定功能、執(zhí)行在此所述本發(fā)明示例性方面中的功能的任何組件(除非另有指示),即使在結(jié)構(gòu)上并不等同于所揭示結(jié)構(gòu)。這樣,將理解本發(fā)明包括一系統(tǒng)以及具有用于執(zhí)行本發(fā)明各方法的動(dòng)作和/或事件的計(jì)算機(jī)可執(zhí)行指令的一計(jì)算機(jī)可讀介質(zhì)。
另外,盡管本發(fā)明的特定特征僅對(duì)若干實(shí)現(xiàn)之一揭示,這種特征可與可能對(duì)任何給定或特定應(yīng)用有利或所需的其它實(shí)現(xiàn)的一個(gè)或多個(gè)特征組合。此外,就用于具體實(shí)施方式
或權(quán)利要求書的術(shù)語“包含”而言,這種術(shù)語意在以類似于術(shù)語“包括”的方式作包括意義解。
權(quán)利要求
1.一種便于實(shí)現(xiàn)RFID服務(wù)器的系統(tǒng),其特征在于,包括
一個(gè)組件,所述組件接受涉及至少一個(gè)或多個(gè)提供者的信息;以及
一個(gè)RFID服務(wù)器組件,所述RFID服務(wù)器組件使用與提供可被一般應(yīng)用到多個(gè)與提供者的子集相關(guān)的設(shè)備的RFID進(jìn)程相關(guān)聯(lián)的信息。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一設(shè)備服務(wù)提供者接口(DSPI)組件,所述DSPI組件便于在至少一個(gè)所述設(shè)備以及所述RFID服務(wù)器組件之間的統(tǒng)一通信,其中所述DSPI組件被管理并且提供至少如下之一向所述RFID服務(wù)器組件的注冊(cè);向所述RFID服務(wù)器組件的取消注冊(cè);驅(qū)動(dòng)器載入;以及驅(qū)動(dòng)器卸載。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一RFID引擎,處理包括提取邏輯實(shí)體的事件處理樹的事件RFID事件,其中邏輯實(shí)體由一邏輯源組成,所述邏輯源可為至少如下之一以定義所述RFID進(jìn)程標(biāo)簽數(shù)據(jù)源;過濾器;規(guī)則;警報(bào)器;事件處理器;追蹤選項(xiàng);以及接收器。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一RFID進(jìn)程管理器組件,所述RFID進(jìn)程管理器組件包括一RFID處理引擎,所述處理引擎執(zhí)行至少如下之一的所述RFID處理(1)結(jié)合一安全管理器引擎提供授權(quán);(2)從數(shù)據(jù)存儲(chǔ)器載入RFID進(jìn)程;(3)打開設(shè)備連接;(4)應(yīng)用設(shè)備上的配置設(shè)置;(5)結(jié)合一事件路由引擎(ERE)組件預(yù)訂事件;(6)解釋邏輯源以及相關(guān)流;以及(7)執(zhí)行此邏輯源。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一通用規(guī)則引擎,所述通用規(guī)則引擎接受來自工作者線程的事件以異步執(zhí)行多個(gè)引入的事件,用于過濾以及警報(bào)。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一設(shè)備管理器組件,所述設(shè)備管理器組件通過至少如下之一管理設(shè)備(1)打開至設(shè)備的連接;(2)維持至此設(shè)備的連接,重新建立連接;(3)執(zhí)行事件;連接到已發(fā)現(xiàn)的設(shè)備;選擇設(shè)備;(4)存儲(chǔ)表示所述設(shè)備的設(shè)備對(duì)象;以及(5)處理至所述設(shè)備的同步調(diào)用。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一ERE組件,所述ERE組件預(yù)訂并向用戶發(fā)送事件,其中所述事件為如下之一(1)標(biāo)簽閱讀事件;(2)標(biāo)簽閱讀錯(cuò)誤;(3)標(biāo)簽寫入錯(cuò)誤;(4)設(shè)備啟用事件;(5)設(shè)備故障事件;以及(6)管理事件。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一服務(wù)器管理器組件,所述服務(wù)器管理器控制與一操作系統(tǒng)服務(wù)有關(guān)的所述RFID服務(wù)器組件的生命周期。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一安全管理器組件,所述安全管理器組件為所述RFID服務(wù)器組件提供授權(quán),其中授權(quán)是如下之一(1)允許執(zhí)行所述RFID處理的認(rèn)證;(2)允許向數(shù)據(jù)存儲(chǔ)器添加對(duì)象的認(rèn)證;(3)允許向數(shù)據(jù)存儲(chǔ)器修改對(duì)象的認(rèn)證;(4)允許向數(shù)據(jù)存儲(chǔ)器刪除對(duì)象的認(rèn)證;以及(5)允許向數(shù)據(jù)存儲(chǔ)器配置對(duì)象。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,進(jìn)一步包括一設(shè)計(jì)處理組件,所述設(shè)計(jì)處理組件實(shí)現(xiàn)設(shè)備發(fā)現(xiàn)以及屬性發(fā)現(xiàn),包括如下之一(1)接收設(shè)備發(fā)現(xiàn)事件;(2)收集設(shè)備發(fā)現(xiàn)事件;(3)基于設(shè)備的無效性移除設(shè)備;(4)返回一組未配置的設(shè)備。
11.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述RFID服務(wù)器組件使能如下之一(1)所述設(shè)備的邏輯表示與所述設(shè)備的物理表示的分離;(2)可利用事件處理樹在不同環(huán)境中配置不同設(shè)備拓補(bǔ)的一次寫入獨(dú)立軟件提供商;(3)用戶定義并創(chuàng)造商務(wù)處理以偵測、消費(fèi)以及按照所述RFID事件運(yùn)行;(4)利用綁定的模型對(duì)設(shè)計(jì)時(shí)間、配置時(shí)間、執(zhí)行時(shí)間的分離;以及(5)所述RFID引擎可以執(zhí)行類似網(wǎng)頁服務(wù)的所述RFID進(jìn)程,其中進(jìn)程配置/供應(yīng)是透明的。
12.一種計(jì)算機(jī)可讀介質(zhì),其特征在于,其上存儲(chǔ)有如權(quán)利要求1所述的系統(tǒng)中的組件。
13.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述RFID服務(wù)器組件利用如下之一的可編程語言C#、擴(kuò)展標(biāo)記語言、以及超文本標(biāo)記語言。
14.一種計(jì)算機(jī)實(shí)現(xiàn)方法,便于執(zhí)行RFID進(jìn)程,其特征在于,包括
接收涉及至少一個(gè)或多個(gè)提供者的信息;以及
使用與提供可被一般應(yīng)用到多個(gè)與提供者的子集相關(guān)的設(shè)備的RFID進(jìn)程相關(guān)聯(lián)的信息。
15.如權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括利用一RFID引擎,處理包括提取邏輯實(shí)體的事件處理樹的RFID事件,其中所述邏輯實(shí)體由一邏輯源組成,所述邏輯源可為至少如下之一以定義所述RFID進(jìn)程標(biāo)簽數(shù)據(jù)源;過濾器;規(guī)則;警報(bào)器;事件處理器;追蹤選項(xiàng);以及接收器。
16.如權(quán)利要求15所述的方法,其特征在于,進(jìn)一步包括
分離所述設(shè)備的邏輯表示與所述設(shè)備的物理表示;
一次寫入一獨(dú)立軟件模型以結(jié)合事件處理樹使用,在不同的環(huán)境中配置不同的設(shè)備拓補(bǔ)以及創(chuàng)造一個(gè)商務(wù)處理來偵測、消費(fèi)以及按照所述RFID事件運(yùn)行。
使用綁定模型分離設(shè)計(jì)時(shí)間、配置時(shí)間、以及執(zhí)行時(shí)間;以及類似網(wǎng)頁服務(wù)地執(zhí)行所述RFID進(jìn)程,其中進(jìn)程配置/供應(yīng)對(duì)用戶是透明的。
17.如權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括
判斷一閱讀事件;
利用一包含一設(shè)備的邏輯源;
向所述設(shè)備的數(shù)據(jù)使用一過濾器序列;
向警報(bào)器發(fā)送所述事件以評(píng)估所述設(shè)備的數(shù)據(jù);
利用事件處理序列;
向接收器發(fā)送所述事件以實(shí)現(xiàn)所述事件;以及
通過網(wǎng)頁服務(wù)接口向另一個(gè)進(jìn)程發(fā)送所述事件。
18.如權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括
利用來自隊(duì)列的轉(zhuǎn)交給邏輯源的事件;
通過過濾器序列傳遞所述事件;
向事件處理引擎發(fā)送所述事件;
處理所述事件并向隊(duì)列發(fā)送所述事件;
判斷邏輯源是否是根邏輯源;以及
向接收器發(fā)送所述事件以實(shí)現(xiàn)所述事件。
19.一種在接收器組件以及RFID服務(wù)器組件之間通訊的數(shù)據(jù)包,其特征在于,所述數(shù)據(jù)包便于實(shí)現(xiàn)如權(quán)利要求14中所述的方法。
20.一種便于實(shí)現(xiàn)RFID進(jìn)程的計(jì)算機(jī)實(shí)現(xiàn)系統(tǒng),其特征在于,包括
接收涉及提供者的信息的裝置;以及
使用與提供可被一般應(yīng)用到多個(gè)與提供者的子集相關(guān)的設(shè)備的RFID進(jìn)程相關(guān)聯(lián)的信息的裝置。
全文摘要
本發(fā)明提供了通過提供創(chuàng)建和/或執(zhí)行與提供者以及與此提供者相關(guān)的設(shè)備相關(guān)的RFID進(jìn)程,便于實(shí)現(xiàn)RFID處理的系統(tǒng)和/或方法。一接收器組件可接收涉及至少一個(gè)或多個(gè)提供者的信息。一RFID服務(wù)器組件可使用與提供可被一般應(yīng)用到多個(gè)與提供者的子集相關(guān)的設(shè)備的RFID進(jìn)程相關(guān)聯(lián)的信息。一RFID引擎可處理RFID事件,包括處理提取邏輯實(shí)體的事件處理樹,其中所述邏輯實(shí)體由可定義所述RFID進(jìn)程的邏輯源組成。
文檔編號(hào)G06F9/44GK1828524SQ20051009169
公開日2006年9月6日 申請(qǐng)日期2005年8月5日 優(yōu)先權(quán)日2004年9月1日
發(fā)明者A·庫瑪, F·A·阿罕默德, J·古特蒂, V·G·R·雷迪, V·阿楠薩哈拉曼, A·阿賈瓦爾, B·斯瑞拉姆, R·凡卡特史 申請(qǐng)人:微軟公司