專利名稱:對在塊存取設(shè)備和圖形存取設(shè)備之間共享的存儲器池的并行存取的制作方法
技術(shù)領(lǐng)域:
本公開一般涉及電子數(shù)據(jù)系統(tǒng),特別是涉及提供數(shù)據(jù)存儲的計算和/或通信系統(tǒng)。
背景技術(shù):
計算機エ業(yè)具有一些用于外圍設(shè)備的連接標準,近年來最流行的是通用串行總線(USB)0 USB和其他連接標準已移用于計算機以外的領(lǐng)域,以允許在無數(shù)電子設(shè)備之間的連接。最為廣泛使用USB的外圍設(shè)備中有些是提供數(shù)據(jù)存儲和無線連接的設(shè)備。有ー些常用的USB"類型〃還已定義了具體用途的特定連接協(xié)議和規(guī)約。這些定義使遵從這些協(xié)議的USB設(shè)備能與主機系統(tǒng)交互操作而不需要給主機添加專用軟件。例如,常用的USB連接協(xié)議是USB海量存儲器規(guī)范,使USB主機能將數(shù)據(jù)寫入到任何遵從該規(guī)范的USB外圍設(shè)備/從其讀出數(shù)據(jù)。有ー些已知的多功能外圍設(shè)備。例如,有ー些USB外圍設(shè)備含有能啟用諸如對數(shù)據(jù)存儲加密/解密之類的較有用的功能的中央處理單元(CPU)。此外,也已將例如數(shù)據(jù)存儲和無線連接的一些組合裝入單個外圍設(shè)備。在這些多功能外圍設(shè)備是USB設(shè)備時,它們通常相當(dāng)于ー些邏輯上分開的USB設(shè)備,即使它們實際上是處在單個外圍設(shè)備內(nèi)。每個功能遵從各自的規(guī)定在主機與每個功能之間互操作性的USB配置,但是這兩個功能是相互排他的。例如,數(shù)據(jù)存儲會獨立地使用USB海量存儲器協(xié)議,而無線功能會使用USB無線聯(lián)網(wǎng)協(xié)議。這些獨立功能可以需要分開的主機軟件驅(qū)動器或需要主機支持多個USB協(xié)議,以訪問外圍設(shè)備內(nèi)的不同功能。現(xiàn)有的USB體系結(jié)構(gòu)包括以下這些類型。圖I示出了典型的包括與USB外圍設(shè)備14連接的USB主機12的現(xiàn)有技術(shù)的USB系統(tǒng)10。USB外圍存儲器14可以是固態(tài)的姆指驅(qū)動器、旋轉(zhuǎn)介質(zhì)硬盤驅(qū)動器、CD、DVD驅(qū)動器之類。有ー個包括運行USB存儲協(xié)議的狀態(tài)機的USB接ロ 16,它與物理數(shù)據(jù)存儲器18連接,用來存取在包括一些數(shù)據(jù)〃塊〃(例如,可尋址的512個數(shù)據(jù)塊)的陣列內(nèi)的要讀出和/或?qū)懭氲臄?shù)據(jù)。USB主機12定義高層數(shù)據(jù)結(jié)構(gòu),諸如文件、文件夾、目錄和存儲管理陣列(例如文件分配表)。圖2示出了現(xiàn)有技術(shù)的USB通信系統(tǒng)20,它具有與圖I的系統(tǒng)10類似的體系結(jié)構(gòu),只是USB外圍設(shè)備22包括與USB接ロ 16連接的無線或有線通信電子設(shè)備24。這種結(jié)構(gòu)可以符合USB標準,或者在主機12上需要專用軟件驅(qū)動器,以適當(dāng)?shù)嘏c通信電子設(shè)備24接ロ。圖3示出了現(xiàn)有技術(shù)系統(tǒng)30,其中USB外圍設(shè)備32將數(shù)據(jù)存儲器18和無線或有線通信電子設(shè)備24兩個功能組合在單個USB外圍設(shè)備32內(nèi)。USB協(xié)議允許多個邏輯通路,USB主機12可以將這些邏輯通路看作兩個虛擬獨立的USB外圍設(shè)備。雖然在這個例子中存在存儲和無線功能對ー些內(nèi)部組件的某些物理共享,諸如共享電源和USB從控制器,但在USB外圍設(shè)備32內(nèi)的存儲與無線功能之間沒有任何直接通信。它們在邏輯上被處理為互斥的設(shè)備。圖4示出了現(xiàn)有技術(shù)系統(tǒng)40,其中USB外圍設(shè)備42包括USB外圍設(shè)備42內(nèi)在的對USB主機12透明的功能,在這種情況下為加密/解密44。USB主機12將數(shù)據(jù)存儲器18看作普通的未加密數(shù)據(jù)存儲陣列,但是如果適當(dāng)?shù)尿炞C諸如用設(shè)備42上的指紋傳感器或者ロ令驗證沒有通過,解密將失敗,從而USB主機12將不能對數(shù)據(jù)存儲器18進行存取
發(fā)明內(nèi)容
需要能在不必更新主機的情況下給外圍設(shè)備添加功能。所希望的是降低對附加的主機軟件的要求,尤其是對于低成本的設(shè)備來說。此外,需要在不給用戶增添麻煩的情況下給外圍設(shè)備添加附加功能,以考慮當(dāng)前協(xié)議的缺點和/或增添功能。在這里所掲示的這些改進措施考慮了這些及其他ー些需求。按照本公開的ー個方面,提供了ー種用于圖形存取設(shè)備和塊存取設(shè)備同時對在這些設(shè)備之間共享的存儲器池進行存取的方法。圖形存取設(shè)備可以是任何存取組織成圖形例如分層文件系統(tǒng)結(jié)構(gòu)的數(shù)據(jù)的電子設(shè)備例如計算機,圖形被解析為使用ー種數(shù)據(jù)結(jié)構(gòu)的存儲器池內(nèi)的ー些特定地址。塊存取設(shè)備是任何用離散的開始位置地址和結(jié)束位置地址對存儲器進行存取的電子設(shè)備,其中任何圖形存取以前已被解析為與設(shè)備排斥的塊存儲器。存儲器池可以包括(至少是部分包括)在外圍設(shè)備內(nèi)。這種方法包括監(jiān)視塊存取設(shè)備在對存儲器池進行存取時所執(zhí)行的一個或多個存儲器塊存取操作;將塊存取操作轉(zhuǎn)換成包括將存儲器池映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu);以及圖形存取設(shè)備按照圖形數(shù)據(jù)結(jié)構(gòu)與塊存取設(shè)備同時對存儲器池進行存取。按照另一方面,一種設(shè)備包括在圖形存取設(shè)備和塊存取設(shè)備之間共享的存儲器池。這種設(shè)備還包括監(jiān)視塊存取設(shè)備在對存儲器池進行存取時所執(zhí)行的一個或多個存儲器塊存取操作的裝置;將塊存取操作轉(zhuǎn)換成包括將存儲器池映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu)的裝置;以及圖形存取設(shè)備按照圖形數(shù)據(jù)結(jié)構(gòu)與塊存取設(shè)備同時對存儲器池進行存取的裝置。按照又一方面,ー種外圍設(shè)備包括存儲器、第一通信接口和第二通信接ロ。存儲器在圖形存取設(shè)備和塊存取設(shè)備之間共享。第一通信接ロ被配置成與塊存取設(shè)備通信,而第二通信接ロ被配置成與圖形存取設(shè)備通信。處理器被配置成監(jiān)視塊存取設(shè)備在對存儲器池進行存取時所執(zhí)行的一個或多個存儲器塊存取操作;將塊存取操作轉(zhuǎn)換成包括將存儲器映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu);以及允許圖形存取設(shè)備在塊存取設(shè)備正在對存儲器進行存取時按照圖形數(shù)據(jù)結(jié)構(gòu)同時對存儲器進行存取。按照又一方面,一種外圍設(shè)備與外部主機或客戶機設(shè)備通信,并且智能地確定主機/客戶機設(shè)備是否需要使用塊或圖形存取的通信。然后,外圍設(shè)備據(jù)此與外部設(shè)備通信。
該領(lǐng)域內(nèi)的技術(shù)人員從以下附圖和詳細說明中可以清楚地看到在這里所說明的這些改進的其他ー些方面、特征、優(yōu)點和變型。所有這樣的其他方面、特征、變型和優(yōu)點都包括在本說明書內(nèi),受所附權(quán)利要求書的保護。
應(yīng)理解的是,這些附圖只是用來例示的,并不形成對所附權(quán)利要求書的限制。此夕卜,附圖中的這些組件不一定是按比例的。在這些附圖中,同樣的標號標示了在不同附圖各處的相應(yīng)部分,其中圖1-4例示了ー些現(xiàn)有技術(shù)的外圍系統(tǒng)。圖5為例不一個包括允許對存儲器同時存取的多功能外圍設(shè)備的不范性系統(tǒng)的一些組件的方框圖;
圖6為存儲在包括在圖5的多功能外圍設(shè)備內(nèi)的存儲器內(nèi)的示范性內(nèi)容的示意圖;圖7為例示包括多于兩個通信接ロ的可供選擇的示范性多功能外圍設(shè)備體系結(jié)構(gòu)的ー些組件的方框圖;圖8為例示圖5所示的多功能外圍設(shè)備的示范性具體實現(xiàn)的一些組件的方框圖;圖9為例示多功能外圍設(shè)備的示范性軟件體系結(jié)構(gòu)的示意圖;圖10為例示允許圖形存取設(shè)備和塊存取設(shè)備同時對共享存儲器池進行存取的示范性方法的流程圖;圖11為例示將圖形數(shù)據(jù)結(jié)構(gòu)映射到塊存儲陣列的例子的示意圖;圖12為例示用陰影存儲器技術(shù)使得塊存取設(shè)備和圖形存取設(shè)備可以同時對存儲器進行存取的例子的示意圖;圖13為例示允許對存儲器池同時存取的陰影存儲器的示范性方法的流程圖;圖14為例示分布在多個設(shè)備上支持云計算的存儲器池的示意圖;圖15為例示示范性的將存儲器池劃分成ー些被限制給一定用戶的區(qū)域的示意圖;圖16為例示發(fā)送使用減小存儲空間的TCP/IP分組的示范性方法的流程圖;以及圖17為例示包括外圍設(shè)備的支付處理系統(tǒng)的示意圖。
具體實施例方式以下參考和包括附圖的詳細說明描述和例示了在權(quán)利要求書中所給出的ー個或多個具體實施例。這些不是限制而只是例示和說明本發(fā)明的實施例詳細得足以使該領(lǐng)域內(nèi)的技術(shù)人員能實際應(yīng)用權(quán)利要求書所限定的本發(fā)明。因此,為了避免使本發(fā)明模糊不清,在說明中略去了該領(lǐng)域內(nèi)的技術(shù)人員已知的ー些信息。詞〃示范性的〃在這里只是用來表示〃用作例子、情況或示范的〃。在這里描述為"示范性的"任何實施例或特征不一定要視為比其他實施例或特征更為優(yōu)選或優(yōu)越。在這里所公開的是用于外圍設(shè)備的新穎解決方案,這些解決方案可以改善現(xiàn)有系統(tǒng)的功用但很少甚至不用修改主系統(tǒng)和/或提供ー些新的特征但不給用戶添加麻煩。這些解決方案包括ー些用于諸如USB外圍設(shè)備之類的外圍設(shè)備的新的方法和體系結(jié)構(gòu),它們可以利用廣泛使用的用于數(shù)據(jù)存儲器的協(xié)議(諸如USB海量存儲器協(xié)議)以及增添附加的功能而不需要附加的主軟件或不需要其他USB通信協(xié)議。附加的功能可以包括(但不局限干)附加通信接ロ、安全措施、服務(wù)器、同步和捆綁入諸如因特網(wǎng)之類的較大網(wǎng)絡(luò)的其他服務(wù)。雖然在這里所掲示的這些示范性體系結(jié)構(gòu)和方法應(yīng)用USB,但這些方法和體系結(jié)構(gòu)并不局限于USB,也可以使用其他總線和通信協(xié)議,例如eSATA、iSCSI之類。另ー個優(yōu)點是提供由于利用在這里所公開的外圍設(shè)備體系結(jié)構(gòu)和方法而啟用的新服務(wù)。例如,還公開了采用ー些較寬的區(qū)域網(wǎng)的新穎系統(tǒng)體系結(jié)構(gòu),為用戶提供ー些服務(wù),而不需給用戶添加麻煩。I.外圍設(shè)備體系結(jié)構(gòu)圖5為例示包括允許塊存取設(shè)備52和ー個或多個圖形存取設(shè)備56、58、60對存儲器66同時存取的多功能外圍設(shè)備54的不范性系統(tǒng)50的一些組件的方框圖。系統(tǒng)50包括 塊存取設(shè)備52、外圍設(shè)備54和圖形存取設(shè)備56、58、60。塊存取設(shè)備52通過有線連接與外圍設(shè)備54通信,而圖形存取設(shè)備56-60通過ー個或多個無線鏈路與外圍設(shè)備54通信。圖形存取設(shè)備56-60各可以是任何存取被組織成的圖形例如分層文件系統(tǒng)結(jié)構(gòu)(從而圖形被解析為使用圖形數(shù)據(jù)結(jié)構(gòu)的存儲器66內(nèi)的ー些特定地址)的數(shù)據(jù)的電子設(shè)備,例如計算機、個人數(shù)字助理(PDA)、蜂窩電話視頻游戲控制板之類。圖形數(shù)據(jù)結(jié)構(gòu)定義了在圖形與存儲器池之間的ー組映射。一個存儲器池是ー個或多個各作為單個邏輯存儲器陣列存取的存儲器陣列。具體些說,圖形數(shù)據(jù)結(jié)構(gòu)包括將存儲器66映射到分層文件系統(tǒng)的多個指針。可以與在這里所掲示的外圍設(shè)備54、70、100配合使用的圖形數(shù)據(jù)結(jié)構(gòu)的例子可以包括諸如文件分配表(FAT)或它的變型(vFAT、FAT32、FAT16、exFAT、NTFS、NFS之類)的文件存儲數(shù)據(jù)庫。存儲器66是ー個存儲器池,或者可以是ー個較大的包括其他ー些物理存儲器和/或設(shè)備的存儲器池的一部分。數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)內(nèi)容可以駐留在同一個存儲器池內(nèi),例如,含有指針的文件分配表(FAT)文件系統(tǒng)和數(shù)據(jù)一起被存儲在ー個共同的存儲器池內(nèi)?;蛘?,也可以是圖形數(shù)據(jù)結(jié)構(gòu)被存儲在另外ー個存儲器內(nèi)。在有些情況下,圖形存取設(shè)備56-60是Wi-Fi客戶機。在另ー些情況下,圖形存取設(shè)備56-60可以是USB主機。圖6為例示將圖形數(shù)據(jù)結(jié)構(gòu)152和數(shù)據(jù)內(nèi)容154 —起存儲在共享存儲器66內(nèi)的存儲器66的示范性分區(qū)150的高層原理示意圖。在所示這個例子中,圖形數(shù)據(jù)結(jié)構(gòu)152駐留在存儲單元Ο-m內(nèi),而數(shù)據(jù)154駐留在位于地址m+1至η的ー些存儲塊內(nèi)。雖然示為處于鄰接的存儲單元,數(shù)據(jù)154和圖形數(shù)據(jù)結(jié)構(gòu)152不需要處在鄰接的存儲塊內(nèi),而是可以分塊在存儲器66內(nèi)或者其他一些存儲器內(nèi)。再來看圖5,塊存取設(shè)備52可以是任何用低層尋址方案即離散的開始位置地址和結(jié)束位置地址而不是使用圖形數(shù)據(jù)結(jié)構(gòu)對存儲器66進行存取的電子設(shè)備,例如計算機、個人數(shù)字助理(PDA)、蜂窩電話機、視頻游戲控制板之類。在有些情況下,塊存取設(shè)備52是運行USB海量存儲器協(xié)議的對外圍設(shè)備54進行存取的USB主機。外圍設(shè)備54包括處理器62、有線接ロ 64、存儲器66和無線接ロ 68。處理器62可以是執(zhí)行在這里所掲示的功能的任何適當(dāng)數(shù)字處理器,諸如執(zhí)行軟件/固件指令的微處理器或DSP、專用集成電路(ASIC)、硬件實現(xiàn)的狀態(tài)機之類。存儲器66可以是任何適當(dāng)存儲設(shè)備,包括可與外圍設(shè)備54分離的存儲器,諸如安全數(shù)字(SD)卡、SDHC卡、SDXC卡、硬盤驅(qū)動器或固態(tài)存儲器。在塊存取設(shè)備52與外圍設(shè)備54之間的有線通信優(yōu)選的是USB,而無線通信可以是Wi-Fi。因此,有線接ロ 64可以是市售的USB接ロ模塊,而無線接ロ 68可以是市售的Wi-Fi接ロ模塊。外圍設(shè)備54含有多于ー個的功能元件,其中一個功能元件可以是存儲器66內(nèi)的塊存取設(shè)備52或圖形存取設(shè)備56-60可存取的一個數(shù)據(jù)存儲陣列。在所示這個例子中,另一個功能元件是無線通信接ロ 68。數(shù)據(jù)存儲陣列被處理為外圍設(shè)備54上的共享存儲器。它由外圍設(shè)備54所支持的這些功能元件和/或外部設(shè)備共享。處理器62將每個功能映射到存儲器66,并且控制塊存取設(shè)備52和圖形存取設(shè)備56-60對存儲器66的存取。使用共享存儲器66,外圍設(shè)備54所提供的功能,例如無線接ロ 68和數(shù)據(jù)存儲陣列,不需要直接相互通信就可以在外部塊存取設(shè)備52與圖形存取設(shè)備56-60之間傳送或共享數(shù)據(jù)。作為替代,這些功能通過存儲器66間接地相互通信。 處理器62被配置成允許塊存取設(shè)備52和圖形存取設(shè)備56_60可以同時對存儲器66進行存取。這是通過處理器62監(jiān)視塊存取設(shè)備52在對存儲器66進行存取時執(zhí)行的一個或多個存儲器塊存取操作來實現(xiàn)的。如下面將要詳細說明的,處理器62將塊存取操作轉(zhuǎn)換成包括將存儲器66映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu)。這允許任何圖形存取設(shè)備56-66可以與塊存取設(shè)備52同時對存儲器66進行存取。圖形存取設(shè)備56-66中的一個或多個可以在塊存取設(shè)備對存儲器66進行存取的同時按照圖形數(shù)據(jù)結(jié)構(gòu)對存儲器66進行存取。如在這里所使用的,所謂〃同時〃和〃并行〃可以取它們的原始含意,但也意味著〃似乎同時〃和〃似乎并行",即塊存取設(shè)備52和至少圖形存取設(shè)備56-60之ー處的用戶和/或過程對存儲器的存取好象是同時的,即使實際對存儲器的存取在外圍設(shè)備54、70或100內(nèi)可以相繼出現(xiàn)。提供對外圍存儲器的同時存取的兩種實用方法可以是對存儲器進行多路傳輸存取其速度使它看來同時的;或者在外圍設(shè)備內(nèi)包括多端ロ存儲器的真正同時存取。雖然在圖5中將塊存取設(shè)備52示為通過有線接ロ 64與外圍設(shè)備連接,但塊存取設(shè)備52也可以通過無線連接或無線和有線連接的組合連接。同樣,任何圖形存取設(shè)備56-60也可以用有線連接而不是無線鏈路或者用無線和有線連接的組合與外圍設(shè)備54連接。此外,也存在沒有執(zhí)行塊存取而只執(zhí)行圖形存取的情況??梢詫⑦@種外圍設(shè)備54擴展到如圖7所示的更為一般的外圍設(shè)備體系結(jié)構(gòu)。圖7為例示另ー個包括多于兩個的通信接ロ 72、74、76、78的示范性多功能外圍設(shè)備70的ー些組件的方框圖。外圍設(shè)備70還包括處理器62、存儲器66和電源80,電源80可以是電池,諸如可充電電池或其他適當(dāng)?shù)墓β蚀鎯M件,諸如超級電容器。通信接ロ 72-78各可以是有線或無線接ロ,諸如在這里所掲示的任何接ロ。通信接ロ 72-78各是在外圍設(shè)備70上的ー個不同的功能,而處理器62將接ロ 72-78映射到共享存儲器66。通信接ロ 72-78可以通過處理器62所管理的共享存儲器66相互通信和/或傳送數(shù)據(jù)。塊存取設(shè)備或圖形存取設(shè)備可以通過通信接ロ 72-78中的ー個或多個通信接ロ與外圍設(shè)備70連接,并且可以用在這里所說明的方法同時對存儲器66進行存取。
圖8為例示圖5所示的多功能外圍設(shè)備54的示范性具體實現(xiàn)的一些組件的方框圖。圖8的外圍設(shè)備100包括中央處理單元(CPU)102或處理器、存儲器104、USB接ロ 106、無線接ロ 108、電源管理模塊110、電源112、一個或多個傳感器113、隨機存取存儲器(RAM)114、只讀存儲器(R0M)116和用戶接ロ 118。用戶接ロ 118包括開關(guān)120和諸如LED 122之類的可視指示器。CPU 102可以是執(zhí)行在這里所掲示的功能的任何適當(dāng)數(shù)字處理器,諸如執(zhí)行軟件/固件指令的微處理器或DSP、專用集成電路(ASIC)、以硬件實現(xiàn)的狀態(tài)機之類。優(yōu)選的是,CPU 102是包括用來存儲編程指令和數(shù)據(jù)的板上存儲器諸如RAM 114和ROM 116的現(xiàn)成微處理器。ROM 116可以存儲外圍設(shè)備的引導(dǎo)或起動代碼。CPU 102用ROM 116啟動和運行它的代碼。作為用于這個啟動或引導(dǎo)代碼的獨立ROM 116的替代,也可以將存儲器104的一部分用于引導(dǎo)代碼。RAMl 14可以存儲由CPU 102使用的數(shù)據(jù)和編程指令。
存儲器104可以是任何適當(dāng)?shù)拇鎯υO(shè)備,而優(yōu)選的是可拆卸SD卡。在用SD卡的情況下,外圍設(shè)備100可以包括接納這卡的SD端ロ。存儲器104是ー個存儲器池,或者可以是ー個包括其他ー些物理存儲器和/或設(shè)備的較大存儲器池的一部分。在其他情況下,存儲器可以是不可拆卸的嵌入式固態(tài)存儲器,諸如閃速存儲器。USB接ロ 106優(yōu)選的是市售的帶與CPU 102接ロ的數(shù)字總線的USB接ロ模塊,而無線接ロ 108優(yōu)選的是市售的帶與CPU 102接ロ的數(shù)字總線的Wi-Fi接ロ模塊。外圍設(shè)備無線接ロ 108可以是在標準web協(xié)議上給出的Wi_Fi(802. 11)接ロ。夕卜圍設(shè)備100含有IP堆棧和HTTP服務(wù)器。它還使用本地鏈接多播DNS (也被稱為ZeroConf或Bonjour),以使無線網(wǎng)絡(luò)上其他設(shè)備知道它的存在。對外圍設(shè)備100的存取可以通過使用Wi-Fi加密(WEP或WPA)、通過MAC地址過濾和/或通過應(yīng)用層安全措施(SSL和HTTP驗證)予以控制。外圍設(shè)備100可以在多個所連接的無線客戶機之間協(xié)調(diào)對文件的存取。例如,在對多個所連接的客戶機上的媒體(視頻或音頻)進行存取時,外圍設(shè)備100可以使所有的客戶機能請求同步啟動重放。這協(xié)調(diào)可以通過從外圍設(shè)備100將程序(例如,富AJAX客戶機應(yīng)用)發(fā)送給客戶機運行或者通過標準媒體流協(xié)議來實現(xiàn)。電源112可以是電池,諸如可以在外圍設(shè)備100插頭插入USB端ロ時得到充電的可充電電池或其他適當(dāng)?shù)墓β蚀鎯M件,諸如超級電容器。在外圍設(shè)備100加有電源112的情況下,外圍設(shè)備100在被從主機諸如主機USB端口上拔下后仍可工作。此時,電源112可以向外圍設(shè)備供電。因此,外圍設(shè)備100可以起著ー個獨立的設(shè)備的作用,無論是否連接到USB主機上都可以工作。此外,電源112可以在即使外圍設(shè)備100連接到主機上但主機不能提供足以使它正常工作的功率時向外圍設(shè)備100供電。電源管理模塊110與CPU 102、USB接ロ 106、電源112連接,以及通常通過CPU 102與用戶接ロ 118連接。模塊110包括管理電源112的現(xiàn)成軟件和硬件組件,包括由用戶接ロ 118的LED 122顯示的通過USB接ロ 106充電、睡眠模式和外圍設(shè)備電源狀態(tài)指示(充電狀態(tài)、小功率狀態(tài)等)。傳感器113可以包括與CPU 102連接的任何適當(dāng)數(shù)量或類型的環(huán)境傳感器。例如,傳感器113可以包括實時時鐘、市售的GPS定位模塊、加速度計、生物測定傳感器、溫度傳感器之類。傳感器113的輸出可以由CPU 102結(jié)合在這里所說明的方法用來允許或拒絕塊存取設(shè)備和/或圖形存取設(shè)備(例如,主機和/或客戶機)對存儲器104進行存取。有了外圍設(shè)備100,USB主機(例如,塊存取設(shè)備52)就與USB接ロ 106通信。無線接ロ 108的無線通信功能被映射到存儲器104,與USB主機獨立地進行工作。CPU 102適當(dāng)?shù)貙SB主機的無線通信功能和數(shù)據(jù)存儲器功能一起映射到存儲器104。一些附加功能也被存儲器映射入外圍設(shè)備100,提供更為完善的無線服務(wù)器和/或管理功能。在USB主機用USB海量存儲器協(xié)議對外圍設(shè)備100進行存取的情況下,存儲器映射使USB主機可以將外圍設(shè)備100看作單個USB存儲設(shè)備,而不是像通常對待USB外圍設(shè)備那樣看作邏輯上獨立的無線設(shè)備和存儲設(shè)備。因此,所增添的外圍設(shè)備的功能可以是對主機透明的。USB主機不需要任何用于無線功能的附加驅(qū)動器。它需要的只是與存儲器104上的數(shù)據(jù)存儲陣列通信。這使得利用USB存儲協(xié)議的USB主機可以接受所增添的功能而對主機并沒有附加的軟件要求。 CPU 102可以通過將存儲器104的ー些分區(qū)內(nèi)部分配給不同的功能和海量存儲器來映射存儲器。這些分配由CPU 102管理,并且可以是對主機和其他通過無線接ロ 108與外圍設(shè)備100通信的設(shè)備透明的。存儲器映射可以涉及任何粒度的處在外圍設(shè)備100上的物理存儲器或虛擬和物理存儲器的任何組合,例如,每個文件夾或文件駐留在其他地方而不是在外圍設(shè)備內(nèi),或者同一文件的ー些部分駐留在不同的存儲器上,或者對存儲器的存取導(dǎo)致對通信接ロ 106、108的功能改變。CPU 102還可以被配置成允許由這些功能元件、塊存取設(shè)備和圖形存取設(shè)備用在這里所掲示的方法同時對存儲器104進行存取。將多個功能映射入ー個共用的(或多個共用的)存儲空間的外圍設(shè)備體系結(jié)構(gòu)允許外圍設(shè)備100除了無線網(wǎng)絡(luò)接口和數(shù)據(jù)存儲的功能以外還含有多個對于USB主機呈現(xiàn)為單個邏輯設(shè)備的功能。例如,雖然外圍設(shè)備100可以含有無線接ロ 108、存儲器104內(nèi)的海量數(shù)據(jù)存儲器和其他ー些功能,但USB主機可以將這些外圍設(shè)備功能看作單個文件系統(tǒng)。因此,USB主機可以將外圍設(shè)備100上的所有這些功能處理為猶如USB主機與一些文件交互作用。主機因此可以與這些處于軟件應(yīng)用層層次的外圍設(shè)備功能元件接ロ。這使USB主機在有由外圍設(shè)備100實現(xiàn)的對ー些功能的映射時可以將外圍設(shè)備100處理為一個與主機獨立的功能(雖然可能有ー些直接或隱含的設(shè)置,控制由USB主機通過將這些設(shè)置存儲在存儲器104內(nèi)而設(shè)置的第二功能)。無論外圍設(shè)備100的USB接ロ 106還是無線接ロ 108都不是ー個由硬件向所連接的設(shè)備/主機提供的直接接ロ ;它們最終由外圍設(shè)備軟件控制,這使軟件可以確定怎樣通過任ー媒體給出存儲和/或功能。具體地說,這使軟件可以I.組合多個數(shù)據(jù)源,以產(chǎn)生一個邏輯存儲器池(諸如組合來自無線接口上的內(nèi)部ROM和SD存儲器的數(shù)據(jù));2.根據(jù)驗證或其他因素限制或阻止對數(shù)據(jù)的存??;和/或3.對諸如SD卡之類的存儲器104上的數(shù)據(jù)加密,在解密前需要來自主機或客戶機的密鑰;和/或4.提供使數(shù)據(jù)通過USB接ロ 106或無線接ロ 108獨立傳送給邏輯存儲器池的附加功能。在圖8這個例子中,在外圍設(shè)備100與通過無線接ロ 108連接到外圍設(shè)備100上的外部服務(wù)器之間可以發(fā)生Wi-Fi事務(wù),不受將外圍設(shè)備100作為海量存儲設(shè)備與之交互作用的USB主機的制約,例如通過Wi-Fi接ロ CPU 102可以自動將作為文件存儲在共享存儲器104內(nèi)的與ー個外部服務(wù)器或一個或多個其他類似的設(shè)備同歩。外圍設(shè)備100還可以通過利用數(shù)據(jù)存儲和/或USB數(shù)據(jù)存儲協(xié)議為USB主機提供控制這些輔助功能的控制情方面的各種控制方法。例如,典型的USB海量存儲協(xié)議和USB主機軟件運用眾所周知的文件存儲數(shù)據(jù)庫,諸如文件分配表(FAT)或它的變型(vFAT、FAT32、FAT16、exFAT、NTFS、NFS之類)。在輔助功能例如是Wi-Fi無線通信的情況下,可以將數(shù)據(jù)驅(qū)動器的卷名直接映射為在主機處的Wi-Fi的SSID名稱。于是,USB主機就可以用眾所周知的卷改名功能控制SSID的名稱?;蛘?,可以有多個各與一個專用文件夾名稱相應(yīng)的SSID。這使用戶在選擇Wi-Fi網(wǎng)絡(luò)作為ー個簡單菜單和選擇適當(dāng)和所允許的存取時可以瀏覽多個SSID。多個用戶/服務(wù)器可以以不同的安全級別通過SSID對各種文件夾進行存取,如下面還要詳細討論的那樣。
·
CPU 102還可以被配置成提供附加的功能,諸如代碼轉(zhuǎn)換和/或加密/解密。對于代碼轉(zhuǎn)換來說,CPU 102可以自動將內(nèi)容,例如視頻、音頻或檔案文件,從ー種數(shù)據(jù)格式轉(zhuǎn)換到另ー種數(shù)據(jù)格式,而不須依賴主機發(fā)出這種命令。CPU 102還可以對要存儲在存儲器104內(nèi)的數(shù)據(jù)加密和/或解密,無論是在傳送期間還是在文件傳送后。外圍設(shè)備100的基本功能是提供通過無線和有線接ロ 106、108對存儲器的存取。外圍設(shè)備100的某種配置包括這些特征的基本實現(xiàn),以提供對SD/SDHC存儲器(存儲器104)的USB 2. O或無線存取。可以將經(jīng)加密的固件下載直接放在SD/SDHC存儲器(存儲器104)內(nèi),再用來對內(nèi)置ROM 116升級,或者,也可以將它直接下載入內(nèi)置ROMl 16。下載可以通過USB接ロ或Wi-Fi接ロ進行。這個復(fù)合設(shè)備的其他組件呈現(xiàn)為ー個標準的USB 2.0 SD卡讀出設(shè)備。在通過USB連接時,外圍設(shè)備100通過從主機吸取功率對它的內(nèi)部電源112充電。在沒有通過USB連接時,可以用可以是外圍設(shè)備100上的按鈕的開關(guān)120的確定,來使外圍設(shè)備100接通或斷開電源。在電源接通時,外圍設(shè)備100廣播802. 11無線網(wǎng)絡(luò)(使用各種模式,諸如臨吋/対等、基礎(chǔ)設(shè)施模式和/或Wi-Fi Direct)。無線網(wǎng)絡(luò)的名稱可以由所插入的SD卡的名稱確定(如果無卡插入,就選擇ー個缺省名),而加密設(shè)置由卡上的一個文件確定(如果無卡插入,就不加密)。無線文件的存取可以由包括在外圍設(shè)備100內(nèi)的標準HTTP服務(wù)器提供。外圍設(shè)備100為自己分配專用的本地鏈接的IP地址,并對本地鏈接的多播DNS消息作出響應(yīng),以便支持從所連接的客戶機的可發(fā)現(xiàn)性。HTTP服務(wù)器可以向所連接的iOS設(shè)備例如iPhone/iPad發(fā)送用來存取來自外圍設(shè)備的文件的動態(tài)AJAX應(yīng)用。其他客戶機接收基本文件清単。在外圍設(shè)備100其中的存儲器104是ー個SD或安全數(shù)字大容量(SDHC)卡的配置中,在外圍設(shè)備100電源接通時,它檢測SD/SDHC卡的插入或拔出。在卡插入外圍設(shè)備100或從外圍設(shè)備100拔出時,在響應(yīng)中可以采取ー組操作。如果外圍設(shè)備100通過USB連接,在卡插入時,外圍設(shè)備100可以通知主機有卡插入,這使主機可以查看和修改這個卡的內(nèi)容。類似,在卡被拔出時,外圍設(shè)備100類似地通知主機。于是可以用來自存儲器的信息來配置無線存取。例如,可以用卡的卷名來設(shè)置無線接ロ的SSID,或者可以用卡上的文件來確定加密密鑰??ǖ牟迦牒桶纬鲈跓o線接ロ 108內(nèi)觸發(fā)取決于卡上存在的配置數(shù)據(jù)的狀態(tài)改變??ㄉ烯`些文件可以觸發(fā)外圍設(shè)備100設(shè)置ー些缺省參數(shù)施加給所有的卡或ー些沒有其他優(yōu)勢配置信息的卡。在可供選擇的ー些配置中,可以用有線存儲接ロ諸如串行ATA (SATA)或安全數(shù)字(SD)卡接ロ來代替USB接ロ 106。此外,對于無線接ロ,諸如3G/4G蜂窩調(diào)制解調(diào)器、藍牙、NFC、紅外、ZigBee變型之類,例如可以使用可供選擇的對Wi-Fi的無線接ロ。支持多個無線接ロ(例如,除了 Wi-Fi 802. 11之外,還有藍牙)是可能的。這些接ロ可以提供超越不同協(xié)議的相同服務(wù),或者可以以ー些獨特方式予以組合??梢杂盟{牙配對和接近性作為開啟對加密存儲器的存取或驗證無線客戶機的密鑰。外圍設(shè)備100可以獲得通過藍牙的因特網(wǎng)連接(DUN)和將這連接用于文件服務(wù)。如果是這樣的話,它還可以通過Wi-Fi或USB與其 他設(shè)備共享這連接。在一些可供選擇的配置中,可以將存儲器104設(shè)置在外圍設(shè)備100之外的ー個或多個設(shè)備上,諸如設(shè)置在通過ー個或多個無線接ロ 106或有線接ロ 108通信的網(wǎng)絡(luò)服務(wù)器上。在這樣的配置中,如果在外圍設(shè)備100上沒有物理存儲器存儲陣列,CPU 102所執(zhí)行的存儲器映射涉及虛擬存儲器,而給/從這虛擬存儲器的傳送需要在外圍設(shè)備100與遠程存儲服務(wù)器/単元之間進行通信。在這種情況下,外圍設(shè)備102被配置成通過其他無線接ロ106或有線接ロ 108將數(shù)據(jù)呈現(xiàn)給其他主機/客戶機,在數(shù)據(jù)實際上不在外圍設(shè)備102上時,好像就處在外圍設(shè)備102上那樣。在這些配置中,CPU 102還可以將遠程存儲的內(nèi)容中的ー些高速緩存到本地存儲器(諸如RAM 114)上存儲,如果適合改善諸如在主機對遠程存儲器進行存取時的網(wǎng)絡(luò)延遲和速度之類的性能的話。在這種情況下,高速緩存的數(shù)據(jù)是對主機透明的,即主機獲得本地存儲器存儲性能的效益,而仍將高速緩存的數(shù)據(jù)看作存儲在外圍設(shè)備100上的存儲陣列內(nèi)。圖9為例示多功能外圍設(shè)備100的示范性軟件體系結(jié)構(gòu)250的示意圖。外圍設(shè)備100的軟件體系結(jié)構(gòu)250由一系列分層組件組成。軟件的最低層處理對外圍設(shè)備硬件的接ロ,以及對USB設(shè)備、SD卡接ロ、Wi-FiSDIO接ロ、包括LED和開關(guān)的用戶接ロ、時鐘和電源控制和電池充電。軟件的最低層包括USB硬件總線接ロ 276、SD硬件總線接ロ 278、SD存儲器驅(qū)動器270、SD輸入/輸出(SDIO)272、定時器服務(wù)274、包括對例如溫度傳感器、實時時鐘、GPS定位模塊之類的軟件接ロ的傳感器接ロ 280、用戶接ロ 282、定時器服務(wù)274、電池管理284和Wi-Fi驅(qū)動器268。這ー層形成一個由其余的外圍設(shè)備軟件使用的硬件抽象層。較高層外圍設(shè)備軟件確定設(shè)備的主要特征。這些層包括USB海量存儲協(xié)議軟件254、固件更新軟件256、圖形存取服務(wù)器(例如,mDNS、HTTP、FTP之類)258, Wi-Fi配置軟件260,TCP/IP棧262、電源管理和配置軟件264、諸如FAT 266的圖形數(shù)據(jù)結(jié)構(gòu)和環(huán)境認識狀態(tài)機252。環(huán)境認識狀態(tài)機252可以包括實現(xiàn)在這里所掲示的方法的軟件代碼。狀態(tài)機252還可以包括提供在這里所說明的諸如安全性和驗證、加密/解密、代碼轉(zhuǎn)換、存儲器和功能存取控制、通信信道控制之類的附加服務(wù)的軟件代碼。固件更新軟件256用來通過SD卡接ロ 278或USB接ロ 106對外圍設(shè)備軟件的系統(tǒng)內(nèi)更新。USB規(guī)范不是靜態(tài)的,而是可以更新和擴展到定期出現(xiàn)的協(xié)議。其他更新可以包括一些新的通過消除對用新的軟件驅(qū)動器更新主機的需求來改善互用性的配置文件,諸如新的無線網(wǎng)絡(luò)標準。USB海量存儲協(xié)議軟件254通過USB接ロ 106將存儲器104的內(nèi)容(可能還有其他數(shù)據(jù))呈現(xiàn)給所連接的主機作為ー個附加盤。在另ー種情況下,可以有其他ー些USB協(xié)議,諸如與作為具有至存儲器104的存取的網(wǎng)絡(luò)外圍設(shè)備的主機連接的USB網(wǎng)絡(luò)存取。電源管理和配置軟件264控制電池充電和節(jié)能模式。這軟件可以將外圍設(shè)備100配置成起Wi-Fi接入點(AP)的作用,或者起Wi-Fi客戶機的作用。在作為Wi-Fi AP工作時,外圍設(shè)備100提供圍繞外圍設(shè)備100的移動個人區(qū)域網(wǎng)(PAN)。在另ー種情況下,外圍設(shè)備100可以起使用同步的AP和客戶機存取的作用,并可以利用Wi-Fi Direct標準。 在有些配置中,可以將外圍設(shè)備100與ー個或多個Wi-Fi客戶機〃配對〃,以在它工作在它的Wi-Fi AP模式時增強功能。通過存儲每個客戶機MAC地址和一定的注冊憑證(如果必要的話),外圍設(shè)備100與這些客戶機配對。在外圍設(shè)備100處于AP模式時,它發(fā)現(xiàn)一個所配對的客戶機的正向另ー個AP發(fā)送MAC地址的Wi-Fi信道。這個所配對的客戶機在它試圖與另ー個AP連接時,將廣播它的MAC地址。在外圍設(shè)備100檢測到客戶機所廣播的MAC地址時,它就等待和檢測那個AP的響應(yīng)客戶機的連接請求而廣播的目的MAC地址。然后,外圍設(shè)備100將目的MAC地址與所存儲的與客戶機相應(yīng)的注冊憑證相比較,如果需要它們與那個AP連接的話?;蛘?,外圍設(shè)備100可以從客戶機的連接傳輸中發(fā)現(xiàn)注冊憑證。如果外圍設(shè)備100處在那個AP的作用范圍內(nèi),它可以轉(zhuǎn)到Wi-Fi客戶機模式,使用所配對的設(shè)備的憑證,作為Wi-Fi客戶機與那個AP連接??梢詫崿F(xiàn)ー些可供選擇的軟件體系結(jié)構(gòu)以得到同樣的結(jié)果。此外,可以使用已知的實現(xiàn)外圍設(shè)備的軟件/固件的軟件技術(shù)進行縮減、置換、添加和/或重排。II.對存儲器池進行存取的方法圖10為例示允許圖形存取設(shè)備和塊存取設(shè)備以同時對共享存儲器池進行存取的示范性方法的流程圖300。這種方法可以由在這里所說明的任何外圍設(shè)備54、70、100執(zhí)行。圖形存取是指存取被組織在圖形內(nèi)的數(shù)據(jù),從而服務(wù)器或處理器接收高層存取命令,并借助于諸如圖形數(shù)據(jù)結(jié)構(gòu)之類的數(shù)據(jù)結(jié)構(gòu)將圖形解析為存儲器池內(nèi)容。塊存取是指用離散的開始位置地址和結(jié)束位置地址對存儲器池進行存取。在步驟302,檢測到塊存取設(shè)備試圖對存儲器池進行存取。如果外圍設(shè)備授權(quán)允許對存儲器池存取,外圍設(shè)備處理器就對塊存取設(shè)備在對存儲器池存取時執(zhí)行的存儲器塊存取操作進行監(jiān)視(步驟304)。存儲器塊存取操作可以包括塊讀出或塊寫入操作。處理器記下在塊存取期間操作的類型(讀出或?qū)懭?、操作的編號和操作的存儲器地址位置。然后,在步驟306,由處理器將塊存取操作轉(zhuǎn)換成表示存儲器池的圖形數(shù)據(jù)結(jié)構(gòu)。圖形數(shù)據(jù)結(jié)構(gòu)包括將存儲器池映射到分層文件系統(tǒng)的ー個或多個指針。圖11-12和14-15示出了一些簡單的圖形數(shù)據(jù)結(jié)構(gòu)的例子。在轉(zhuǎn)換步驟中可以使用解析過程,即將多個所緩存的更新解析到圖形數(shù)據(jù)結(jié)構(gòu)。在解析中可以使用在該領(lǐng)域已知的N式歸并算法。需要解析是由于塊存取而引起的。每當(dāng)在存儲器池內(nèi)出現(xiàn)圖形存取時,圖形數(shù)據(jù)結(jié)構(gòu)始終處于結(jié)構(gòu)良好的狀態(tài)。然而,在出現(xiàn)塊存取時,圖形數(shù)據(jù)結(jié)構(gòu)可以暫時處于結(jié)構(gòu)不好的狀態(tài)。外圍設(shè)備處理器將在將來某個點解析圖形。關(guān)于什么時候解析/啟動解析過程,有不同的粒度層次I.最低粒度將解析推遲到所有的存取(塊和圖形存取,讀出和寫入兩者)都停止,即推遲解析,直到USB主機彈出設(shè)備并且所有的Wi-Fi客戶機都斷開,再進行解析。2.將解析推遲到塊存取停止,然后以鎖定圖形存取的方式更新圖形數(shù)據(jù)結(jié)構(gòu)直至解析完成,再重新開始圖形存取,例如,停止Wi-Fi通信,直至解析結(jié)束。2.識別正在存取的是哪些文件,對于不是正在被同時存取的文件立即解析文件(可以不使用獨立的緩存器)。4.識別文件的正在被存取的部分,立即解析這些部分。一個改進措施是預(yù)測哪些部分將受到存取,將對這些部分的解析拖延到存取概率已降低吋。
5.識別塊存取已使圖形數(shù)據(jù)結(jié)構(gòu)留在一致狀態(tài)的時間,然后執(zhí)行解析過程。任選的是,設(shè)備處理器可以通過更新外圍設(shè)備的內(nèi)部圖形數(shù)據(jù)結(jié)構(gòu)使圖形符合先前的塊操作和/或通過移動/拷貝存儲塊使塊存儲器符合圖形存取對存儲器進行解析。這兩種解析操作無論哪一個或者兩個都是由處理器或主機設(shè)備為解析可能已出現(xiàn)的更新對可能出現(xiàn)的圖形(圖形數(shù)據(jù)結(jié)構(gòu))的増量更新,而不是對塊存儲器的完全重新掃描。這種增量解析會在圖形存取設(shè)備或塊存取設(shè)備完成某組塊存取后進行。在有些情況下,轉(zhuǎn)換塊存取操作可能需要處理器將所請求的地址A的存儲塊更改為另ー個例如地址B的存儲塊。這個途徑在外圍設(shè)備的內(nèi)部圖形數(shù)據(jù)結(jié)構(gòu)已得到更新而塊存取設(shè)備還沒有更新它自己的內(nèi)部圖形數(shù)據(jù)結(jié)構(gòu)時使用。此外,處理器可以等待塊存取操作完成,再重排ー些塊和/或重構(gòu)內(nèi)部圖形數(shù)據(jù)結(jié)構(gòu)的ー些部分,以使塊和圖形結(jié)構(gòu)保持
相互一致。在步驟308,外圍設(shè)備處理器向圖形存取設(shè)備提供圖形數(shù)據(jù)結(jié)構(gòu)。這可以通過將經(jīng)更新的圖形數(shù)據(jù)結(jié)構(gòu)存儲在圖形存取設(shè)備可存取的存儲區(qū)域內(nèi)來實現(xiàn)。圖形存取設(shè)備于是可以按照圖形數(shù)據(jù)結(jié)構(gòu)與塊存取設(shè)備同時對存儲器池進行存取。圖11為例示將圖形數(shù)據(jù)結(jié)構(gòu)352映射到塊存儲陣列350的例子的示意圖。存儲陣列350可以包括在任何在這里所說明的存儲器(例如,存儲器66或104)內(nèi),無論是本地還是分布的,物理的還是虛擬的。在所示這個例子中,存儲陣列350包括存儲塊(或簇)Bl-Bn,其中η為任何適當(dāng)?shù)恼麛?shù)值。每個塊可以包括任何適當(dāng)數(shù)量的字節(jié)。塊存取設(shè)備可以通過向處理器62或102提供塊地址對陣列350內(nèi)任何允許它存取的塊進行存取,然后根據(jù)塊存取操作將數(shù)據(jù)寫入所尋址的塊或者從所尋址的塊讀出數(shù)據(jù)。圖形數(shù)據(jù)結(jié)構(gòu)352將分層圖形表示用于存儲陣列350。圖形數(shù)據(jù)結(jié)構(gòu)可以包括文件存儲數(shù)據(jù)庫,諸如FAT或它的變型(vFAT、FAT32、FAT16、exFAT、NTFS、NFS,等等)。在所示這個例子中,圖形數(shù)據(jù)結(jié)構(gòu)352包括根目錄R、文件FpF2、F3和目錄圖形數(shù)據(jù)結(jié)構(gòu)的姆個元包括標識與本元相應(yīng)的存儲塊的指針。例如,目錄D1與塊B5相應(yīng);文件F2與塊B6、B9-B10相應(yīng);而文件F3與塊B105-B106相應(yīng)。圖形存取設(shè)備利用圖形數(shù)據(jù)結(jié)構(gòu)352對存儲陣列350進行存取。圖形存取設(shè)備通過對數(shù)據(jù)結(jié)構(gòu)352內(nèi)的文件和/或目錄的讀出、寫入或其他操作來執(zhí)行該存取。處理器62或102使用圖形數(shù)據(jù)結(jié)構(gòu)352內(nèi)的指針來對陣列350內(nèi)的相應(yīng)存儲塊進行存取。
圖13為例示用陰影存儲器技術(shù)使得塊存取設(shè)備和圖形存取設(shè)備可以似乎同時對存儲器進行存取的例子的示意圖。陰影存儲器技術(shù)實質(zhì)上是將塊存取設(shè)備的塊存儲器寫入在要寫到存儲陣列400內(nèi)的地址正由另ー個設(shè)備諸如圖形存取設(shè)備進行存取時緩存起來。在存儲陣列400可以處在外圍存儲器66或104內(nèi)的情況下,這個技術(shù)和存儲陣列400可以在這里所說明的任何外圍設(shè)備54、70、100內(nèi)實現(xiàn)。陰影存儲器緩存器可以處在與外圍設(shè)備的相同的存儲器池內(nèi)或分開的存儲器池內(nèi)。如果是處在相同的存儲器池內(nèi),所緩存的數(shù)據(jù)被存儲在存儲陣列400的未被使用的區(qū)域內(nèi)。處理器62或100必須將圖形數(shù)據(jù)結(jié)構(gòu)402更新成表明用作緩存器的這個存儲區(qū)域是被保留的,或者處理器62或102使它自己使用的存儲表標明陰影緩存器的位置。在圖形存取設(shè)備或塊存取設(shè)備寫入要發(fā)生在暫時已使用的緩沖存儲器的位置時,處理器62或102就將寫入更改到存儲陣列400內(nèi)的未使用部分。在所示這個例子的情況下,塊存取設(shè)備試圖對存儲塊B105-B106進行塊寫入。處理器62或102檢測到圖形存取設(shè)備當(dāng)前正利用圖形數(shù)據(jù)結(jié)構(gòu)402在對作為文件F3的塊B 105-106進行存取。處理器62或102就使塊寫入寫到起著陰影緩存器作用的替代的塊BI 15-B116。在圖形存取設(shè)備完成了對F3的存取后,處理器62或102通過將圖形數(shù)據(jù)結(jié)構(gòu)402內(nèi)的F3的指針更新為指向B115-B116而不是B105-B106或者通過將B115-B116的內(nèi)容分別傳送給B 105-B106,后將B115-B116釋放為未使用塊來解析這個塊存取的寫入。圖13為較為完全地例示用陰影存儲器實現(xiàn)似乎同時對存儲器池進行存取的方法的流程圖450。在步驟452,塊存取設(shè)備試圖對存儲陣列400的F3的存儲塊B105-B106執(zhí)行寫入操作。檢測到寫入操作,處理器62或102確定當(dāng)前是否有圖形設(shè)備正在對與B105-B106相應(yīng)的F3進行存取(步驟454)。如果沒有,處理器62或102就允許對塊B105-B106執(zhí)行寫入(步驟456)。如果圖形存取設(shè)備當(dāng)前正在對相同的存儲塊B105-B106進行存取,處理器62或102就使塊存取設(shè)備代之以對未使用的存儲塊B115-B116進行寫入(步驟458)。然后,在步驟460,處理器62或102監(jiān)視圖形存取設(shè)備的對存儲器的存取操作,以確定圖形存取設(shè)備是否完成對F3的存取。在圖形存取設(shè)備完成它的對塊的存取操作吋,處理器62或102就解析圖形數(shù)據(jù)結(jié)構(gòu),將B115-B116的內(nèi)容歸入F3。如以上結(jié)合圖12所討論的,將緩存器內(nèi)容B115-B116解析入圖形數(shù)據(jù)結(jié)構(gòu)402有兩種方式或者將B115-B116的內(nèi) 容拷貝到B105-B106,或者將圖形數(shù)據(jù)結(jié)構(gòu)402內(nèi)的F3的指針更新為指向緩存器B115-B116而不是B105-B106,而塊寫入的內(nèi)容保持在相同的存儲位置B115-B116。圖14為例示分布在多個設(shè)備502、506上支持云計算的存儲器池的示意圖。存儲器池包括處在外圍設(shè)備502上的存儲器池A 508。外圍設(shè)備502可以是上面所說明的任何外圍設(shè)備54、70、100。存儲器池還包括處在聯(lián)網(wǎng)設(shè)備506上的存儲器池B510。聯(lián)網(wǎng)設(shè)備510通過任何適當(dāng)?shù)木W(wǎng)絡(luò)連接,包括在這里所說明的無線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)(例如,USB),接到外圍設(shè)備502上。外圍設(shè)備502被配置成為為其他所連接的設(shè)備,諸如USB主機或Wi-Fi客戶機,提供作為單個邏輯存儲器池的分布式存儲器池,即使它是由ー些物理上處在分開的設(shè)備上的獨立存儲器池A 508和B510組成的。外圍設(shè)備502通過使用圖形數(shù)據(jù)結(jié)構(gòu)509來達到這個目的,圖形數(shù)據(jù)結(jié)構(gòu)509包括一些將它鏈接到映射存儲器池B 510的第二圖形數(shù)據(jù)結(jié)構(gòu)511的指針,從而邏輯上將兩個存儲器池A 508和B510映射為單個邏輯存儲器。第二圖形數(shù)據(jù)結(jié)構(gòu)511可以存儲在網(wǎng)絡(luò)設(shè)備506上的存儲器池B內(nèi),如圖14所示,也可以存儲在其他地方,只要它對于用于查詢存儲器池B 510的外圍設(shè)備502來說是可接入的。外部數(shù)據(jù)服務(wù)也涉及和可以被處理為ー些存儲器池。例如,RSS新聞匯集服務(wù)可以是ー個外部第三方服務(wù)器,具有指向具有新聞報道的其他服務(wù)器的圖形數(shù)據(jù)結(jié)構(gòu)。這是一個可以由外圍設(shè)備54、100通過圖形映射存取的圖形數(shù)據(jù)結(jié)構(gòu)和存儲器池。外圍設(shè)備508的圖形數(shù)據(jù)結(jié)構(gòu)509可以通過以下方式之一更新拉通過塊或圖形存取對資源的存取可以觸發(fā)拉出處在物理上分開的存儲器池內(nèi)的數(shù)據(jù)。推對處在其他地方的存儲器池的存取使觸發(fā)器(連接到新的Wi-Fi網(wǎng)絡(luò)上、從ー個服務(wù)例如Facebook更新得到通知等)啟動存取,為處在外圍設(shè)備508外的存儲器池更新 部分或所有圖形數(shù)據(jù)結(jié)構(gòu)509。圖15為例示將存儲器池550劃分成ー些局限于一定用戶的區(qū)域的示意圖。在外圍設(shè)備100上執(zhí)行的環(huán)境認識狀態(tài)機252可以包括將用戶限制于在ー個或多個圖形數(shù)據(jù)結(jié)構(gòu)內(nèi)的一定文件和目錄的安全機制。用戶可以用例如ロ令或其他手段驗證,以便獲得對存儲器池550的ー些區(qū)域的存取。允許存取的權(quán)限可以被存儲和組織起來,成為圖形數(shù)據(jù)結(jié)構(gòu)的一部分。在所示這個例子中,用戶A、C和D有權(quán)對由圖形數(shù)據(jù)結(jié)構(gòu)553表示的第一存儲器池分區(qū)552進行存取。只有用戶B有權(quán)對由圖形數(shù)據(jù)結(jié)構(gòu)557表示的第三存儲器池分區(qū)556進行存取。用戶A、B、C和D都有權(quán)通過所有用戶共有的目錄D對由圖形數(shù)據(jù)結(jié)構(gòu)555表示的第二存儲器池分區(qū)554進行存取。圖16為例示使用減小的存儲空間發(fā)送TCP/IP分組的示范性方法的流程圖600。這種方法可以用在外圍設(shè)備100上運行的軟件(例如,TCP/IP棧262和/或狀態(tài)機252)實現(xiàn)。這種方法的優(yōu)點是,它降低了執(zhí)行TCP/IP協(xié)議的存儲器存儲要求,這對于具有有限存儲器和資源的設(shè)備諸如外圍設(shè)備來說可能是很重要的。在步驟602,用TCP/IP發(fā)送分組。在外圍設(shè)備100的環(huán)境中,TCP/IP分組可以通過無線接ロ 108或USB接ロ 106發(fā)送。使用傳統(tǒng)的TCP/IP,通常將所發(fā)送的分組的拷貝存儲在臨時存儲器內(nèi)直至從接收方的TCP/IP節(jié)點接收到表明傳輸成功的確認(ACK)。如果沒有接收到ACK,發(fā)送方可以迅速地從臨時存儲器中檢索出所拷貝的分組重新發(fā)送。然而,使用這種傳統(tǒng)的暫時存儲拷貝分組的TCP/IP方法的缺點是耗費較大的存儲器容量,這對于存儲空間有限的應(yīng)用來說可能不是所希望的。為了克服這個缺點,圖16的方法存儲指向在存儲器池內(nèi)存在的所發(fā)送的分組的指針,而不用拷貝所發(fā)送的分組(步驟604)。在發(fā)送這個分組后,使用傳統(tǒng)的TCP/IP協(xié)議步驟進行檢驗,看看是否從接收方接收到ACK (步驟606)。如果接收到ACK,就確定是否需要發(fā)送另外的分組(步驟608)。如果是這樣的話,方法返回步驟602,否則方法結(jié)束。如果沒有如TCP/IP協(xié)議所規(guī)定的從接收方接收到ACK,就用指針從存儲器池檢索出分組(步驟610),再重新發(fā)送這分組(步驟612)。III.外圍設(shè)備安全性可以在設(shè)備/分區(qū)層次或者在單個文件層次對外圍設(shè)備54、70、100所支持的存儲器池的ー些分區(qū)加密。在存儲器的ー些分立分區(qū)用不同的密鑰加密時,整個存儲區(qū)域可以是用總密鑰可存取的,各個子密鑰存儲在保留區(qū)中(用總密鑰加密的);或者,整個存儲區(qū)域可以用ー個密鑰加密。開鎖加密的存儲器可以通過有線或無線接ロ實現(xiàn)。為了驗證主機,外圍設(shè)備54、70、100對主機可以呈現(xiàn)為ー個標準的海量存儲設(shè)備,并且要求主機以起密鑰作用的一定名稱寫出文件或創(chuàng)建目錄;或者它可以與在主機上運行的程序通信??梢杂脽o線驗證來為無線或有線存取來開鎖存儲器。開鎖后存取就可以計時,可以持續(xù)到用戶再次明確鎖定存儲器,和/或可以持續(xù)到來自當(dāng)前無線網(wǎng)絡(luò)的驗證停止(白名単)或檢測到其他無線網(wǎng)絡(luò)(黑名単)。可以使用與用于無線驗證的相同的存取控制模式。例如,用戶可以用WPA2驗證無線存取,它會開鎖對存儲器的有線存取持續(xù)所設(shè)置的時間。也可以用其他標準的驗證方法NFC(近場通信)配對、RFID或藍牙來開鎖存儲器。外圍設(shè)備處理器還可以確定提供塊存取還是圖形存取的連接。在這種情況下,處理器用狀態(tài)機來確定怎樣進行塊的一定存取,是通過一定管道(連接)還是對存儲器池的各 個分區(qū)進行存取。為此,處理器檢查來自主機的請求,根據(jù)請求確定需提供的存取類型,或者從已知的優(yōu)先權(quán)表提供服務(wù)提議再查看設(shè)備怎樣響應(yīng),或者根據(jù)先前所存儲的設(shè)置允許連接,或者根據(jù)所確定的環(huán)境狀態(tài)(諸如時間、存在一定先前存在的連接或所識別的主機、外圍設(shè)備位置、存儲在本地存儲器池內(nèi)的數(shù)據(jù)的類型,等等)允許連接。有ー些規(guī)則組,外圍設(shè)備處理器可以用來確定連接情況。這些規(guī)則可以涉及外圍設(shè)備所了解的所有各種環(huán)境,諸如所連接的客戶機或可用的客戶機(Wi-Fi網(wǎng)絡(luò)存在)、存儲器池內(nèi)的數(shù)據(jù)、所預(yù)置的條件、傳感器數(shù)據(jù)(時間、溫度、光線、位置)、圖形和/或數(shù)據(jù)比較(驗證等)。這些比較能使支付系統(tǒng)之類進行工作。另ー種配置是在圖形存取而不是塊存取的情況下與作為網(wǎng)絡(luò)設(shè)備的客戶機連接的外圍設(shè)備(對于PC來說,相當(dāng)于將彈出對數(shù)據(jù)的web即圖形存取的網(wǎng)絡(luò)設(shè)備,而不是在塊存取的情況下的WebDAV或USB海量存儲設(shè)備)。從所連接的客戶機接收到的數(shù)據(jù),無論是通過塊存取還是圖形存取,也可以觸發(fā)存取許可事件。例如,可以寫入文件,這個文件具有ー組修改客戶機設(shè)備連接性的參數(shù),例如接通/斷開到Wi-Fi對3G/4G數(shù)據(jù)連接的連接性的文本文件。另ー個例子是對圖形內(nèi)的文件目錄命名,以獲取來自特定外部網(wǎng)絡(luò)服務(wù)和/或存儲器池的RSS饋入。在處理器根據(jù)專門數(shù)據(jù)和連接事件兩者進行判斷的情況下,還可以有組合數(shù)據(jù)和連接智能。這可以有助于對外圍設(shè)備在特定的時間點的當(dāng)前環(huán)境的了解。IV.圖形存取到塊存取的映射外圍設(shè)備54、100可以呈現(xiàn)為通過有線接ロ 64的存儲器,它最終是由本地存儲器和通過無線接ロ 68、108獲得的遠程內(nèi)容的組合形成的。無線內(nèi)容可以來自各式各樣的源,可以由外圍設(shè)備軟件異步高速緩存給本地存儲器。典型的信息源包括I.在本地網(wǎng)絡(luò)上的文件共享;2.包括泡播podcast、光流或其他信息匯集的RSS饋入;和/或3.從諸如YouTube之類的在線網(wǎng)絡(luò)的視頻采集。
可以將這些信息源各映射到通過有線接ロ 64、106可存取的分立目錄。這些源可以按設(shè)備層次組合在一起(給出多個所連接的存儲設(shè)備)或者按文件系統(tǒng)層次組合在一起(從多個信息源生成虛擬文件系統(tǒng)和FAT表)。還能為特定用戶啟用卷/分區(qū)、文件和/或文件夾層次的存取??梢詫擞?Bob"的文件夾在有權(quán)對這個文件夾存取的用戶"Bob"處在同一個網(wǎng)絡(luò)上和/或通過遠程服務(wù)器存取時與用戶"Bob"的存取關(guān)聯(lián)。還有ー個獨特的功能是,具有ー個以上與另ー個成對的外圍設(shè)備,這些外圍設(shè)備始終試圖保證在這些設(shè)備之間有些或者所有數(shù)據(jù)是同步的,無論是在例如Wi-Fi之間直接同步還是通過ー些遠程服務(wù)器(無論它們起代理和/或遠程存儲器作用)同歩。在存取無線信息時,可以將有些、沒有或所有信息放入外圍設(shè)備54、70、100上的存儲器66、104,視情況而定。例如,文件共享可以不需要任何對數(shù)據(jù)的高速緩存;任何文件請求會立即被轉(zhuǎn)換為無線文件共享請求。高速緩存可以是為附加性能而增添的。
可以將外圍設(shè)備54、70、100上的文件夾指定為用于其他遠程內(nèi)容諸如RSS饋入的下載區(qū)域,而設(shè)備將自動在內(nèi)容成為可得到時自動將它下載到這個文件夾。無線狀態(tài)改變還可以導(dǎo)致下載開始。例如,如果ー個所記住的無線網(wǎng)絡(luò)成為可用時,外圍設(shè)備54、70、100就可以搜索和下載經(jīng)更新的信息。另ー個例子是,如果外圍設(shè)備54,70,100插入了汽車立體聲裝置上的USB端ロ,在汽車回到車主的車道時,它將連接到家庭無線網(wǎng)絡(luò)上,下載最近的泡播,或者使一些文件與車主的計算機同歩。無線狀態(tài)改變還可以控制對存儲器的存取。例如,連接到某個無線網(wǎng)絡(luò)上可以使某些文件或文件夾成為可查看和修改的。外圍設(shè)備54、70、100還可以被配置成總是可以對存儲器的某個目錄或區(qū)域進行寫入,但不能從這個區(qū)域讀出文件,除非在它處在某個接入點的范圍內(nèi)時或者在與某個接入點關(guān)聯(lián)吋。存在無線網(wǎng)絡(luò)還可以觸發(fā)對文件的刪除("遠程擦除")。外圍設(shè)備54、70、100還可以檢測和記錄所遇到的網(wǎng)絡(luò)SSID和/或MAC地址供以后處理。這可以有助于跟蹤設(shè)備54、70、100隨時間所在的地點,而且可以與許可接入的GPS或其他三角測量/定位功能配合或者可以觸發(fā)其他功能。ー種可能配置是,設(shè)備54、70、100用仿真USB網(wǎng)絡(luò)配置的外圍設(shè)備通過USB連接到主機上。主機會將外圍設(shè)備54、70、100看作網(wǎng)絡(luò)連接,啟動瀏覽器或類似應(yīng)用,然后流出數(shù)據(jù),似乎在對服務(wù)器進行存取。外圍設(shè)備54、70、100于是可以起著ー個交互地將內(nèi)容饋入瀏覽器的服務(wù)器的作用,無論這內(nèi)容是在外圍設(shè)備上和/或是從遠程服務(wù)器收集的。這可以允許內(nèi)容以與內(nèi)容從遠程服務(wù)器通過因特網(wǎng)投遞類似的安全方式投遞。在存儲器內(nèi)存在ー個特定的文件(用名稱、內(nèi)容或其他因素發(fā)現(xiàn))時,設(shè)備可以改變對主機所呈現(xiàn)的存取模式。如果在存儲器內(nèi)發(fā)現(xiàn)具有特定的名稱的CD或DVD鏡像,外圍設(shè)備54、70、100可以向主機呈現(xiàn)附加的USB⑶或DVD閱讀器,具有確定插入驅(qū)動器的虛擬光盤的內(nèi)容的文件。這個特定功能使得在沒有實際光驅(qū)的計算機上安裝操作系統(tǒng)非常方便。可以為外圍設(shè)備功能保留部分存儲器。這個區(qū)域可以按設(shè)備或分區(qū)層次保留,或者通過在設(shè)備本身上分配具有所希望的容量的文件保留。在文件被更改或被從外圍設(shè)備54,70,100上刪除時,它的內(nèi)容可以拷貝到所保留的區(qū)域,以使用戶以后可以恢復(fù)數(shù)據(jù)。
V.云服務(wù)可以用有線接口和無線接ロ的組合來為外圍設(shè)備擁有人提供ー些附加服務(wù)。在無線接ロ接到因特網(wǎng)上時,可以將通過有線或無線接ロ對存儲器所采取各種操作從因特網(wǎng)轉(zhuǎn)移到存儲器或者用存儲器補充。外圍設(shè)備54、70、100可以提供在線備份功能。通過監(jiān)視存儲器的哪些分區(qū)已被用戶改變和將這些分區(qū)在保持在所保留的存儲區(qū)域內(nèi)的表中標為"已染污",外圍設(shè)備54、70、100就知道必須將存儲器的哪些分區(qū)通過因特網(wǎng)在服務(wù)器上備份。所傳送的數(shù)據(jù)內(nèi)容可以由外圍設(shè)備54、70、100加密后再傳輸給服務(wù)器。如果設(shè)備54、70、100損失,可以從因特網(wǎng)向設(shè)備54、70、100發(fā)送命令,以啟動擦凈設(shè)備54、70、100上的存儲器,然后可以用來自所損失的設(shè)備的數(shù)據(jù)內(nèi)容對新的外圍設(shè)備進行編程。同樣,如果在線備份改變,可以反向應(yīng)用這個過程,以保證外圍設(shè)備符合在線備份的改變。 外圍設(shè)備54、70、100可以根據(jù)通過通信接ロ對文件的操作采取行動,通過同一個或另ー個通信接ロ將這些行動轉(zhuǎn)換成對因特網(wǎng)存儲器的行動。例如,可以將設(shè)備54、70、100上的特定文件夾指定為文件共享區(qū)域,根據(jù)策略允許一定用戶存取。將文件移動或拷貝入這個文件夾會啟動用無線接ロ將這個文件傳送給遠程存儲器,在那里它就會是其他用戶可存取的??梢詫⑽募A指定為從另一個用戶接收文件的收件箱,在這種情況下,外圍設(shè)備54、70、100可以從遠程存儲器查詢和取得信息,將它放在設(shè)備54、70、100上的這個文件夾內(nèi)。如果設(shè)備54、70、100上的所有文件分別用獨特的個別密鑰加密,這個文件就可以以加密形式傳送,而開鎖這個文件的密鑰通過安全措施與其他用戶共享。因特網(wǎng)服務(wù)可以根據(jù)文件處理采取一些行動,導(dǎo)致將附加文件添加給外圍設(shè)備存儲器,或者采取其他一些要采取的行動。例如,將文件放入某個目錄可以觸發(fā)將這個文件作為電子郵件附件發(fā)送到預(yù)定的電子郵件地址。將視頻文件放入另ー個目錄可以觸發(fā)根據(jù)因特網(wǎng)服務(wù)出現(xiàn)的格式轉(zhuǎn)換,經(jīng)轉(zhuǎn)換的文件然后被下載給設(shè)備54、70、100上的目錄。在另ー種配置中,外圍設(shè)備54、70、100對主機呈現(xiàn)為比在外圍設(shè)備54、70、100上實際呈現(xiàn)的大的數(shù)據(jù)陣列。在這種情況下,對主機通常呈現(xiàn)為文件存儲器,而數(shù)據(jù)存儲器實際上處在處于不同位置的聯(lián)網(wǎng)設(shè)備上,但正由外圍設(shè)備高速緩存。外圍設(shè)備54、70、100還可以被配置成能用由外圍設(shè)備支持的存儲器池作為高速緩存器為ー個或多個用戶進行云高速緩存。為此,將外圍設(shè)備包括在一個或多個在線云服務(wù)器與用戶設(shè)備(例如,主機或客戶機)之間的網(wǎng)絡(luò)通信路徑內(nèi)。如果與云服務(wù)器的連接斷了,用戶設(shè)備仍連接在外圍設(shè)備54、70、100上。外圍設(shè)備54、70、100高速緩存要傳送給云服務(wù)器的數(shù)據(jù)。外圍設(shè)備54、70、100起著數(shù)據(jù)存儲外圍設(shè)備的作用,在將來再次可存取時與云服務(wù)器同歩?;蛘?,在有太多的用戶使用給云服務(wù)器的帶寬時,外圍設(shè)備54、70、100可以為每個用戶進行高速緩存/預(yù)取,同時依次對云服務(wù)器存取,將帶寬輪流地分配給用戶。外圍設(shè)備54、70、100還可以被配置成起著設(shè)置在AP中的瘦客戶機網(wǎng)絡(luò)高速緩存器或Google Gears的作用。在這種配置中,外圍設(shè)備54、70、100為ー個或多個用戶仿真ー些網(wǎng)絡(luò)資源,這些仿真的網(wǎng)絡(luò)資源在網(wǎng)絡(luò)連接性成為可得到時就不復(fù)存在,回落(fallback)到網(wǎng)絡(luò)資源。這種配置的目的是在網(wǎng)絡(luò)擁擠的情況下改善響應(yīng)時間和/或在網(wǎng)絡(luò)連接中斷的情況下提供對網(wǎng)絡(luò)/云功能的存取。作為使用這種功能的ー個例子,在外圍設(shè)備54、70、100處于Wi-Fi AP模式時,在沒有網(wǎng)絡(luò)/因特網(wǎng)入口的情況下,用戶可以將電子郵件發(fā)送給外圍設(shè)備54、70、100。在因特網(wǎng)入口成為可得到時,外圍設(shè)備54、70、100就成為客戶機,連接到因特網(wǎng)上,使用例如Google Gears通過因特網(wǎng)發(fā)送電子郵件。外圍設(shè)備54、70、100還可以被配置成根據(jù)探測和/或定位信息(高空探測氣球、GPS之類)插入存儲在它的本地存儲器內(nèi)或來自網(wǎng)絡(luò)服務(wù)器的廣告。在外圍設(shè)備54、70、100同時兼?zhèn)銩P和客戶機模式吋,它可以剝除廣告,用來自它的本地存儲器的廣告代替。如果單擊這些廣告就可以對它們進行追蹤,而數(shù)據(jù)可以被存儲在外圍設(shè)備的圖形數(shù)據(jù)結(jié)構(gòu)內(nèi)。此外,在外圍設(shè)備54、70、100處于AP模式時,它可以提供一些SSID。例如,一個可以是〃Vimeo〃。如果選擇了 〃Vimeo〃而AP檢測到iPhone, Vimeo就可以被欺騙為YouTube,以使用iPhoneYouTube播放器。
VI.支付處理系統(tǒng)圖17為例示包括可以是在這里所說明的外圍設(shè)備54、70、100之一的外圍設(shè)備702的支付處理系統(tǒng)700的示意圖。支付處理系統(tǒng)700包括外圍設(shè)備702、智能電話機或PDA704、諸如Wi-Fi AP之類的商店或零售商無線接入點(AP)、銷售點(POS)終端708和支付處理服務(wù)器710。外圍設(shè)備702用諸如Wi-Fi連接之類的無線信道與智能電話機704和商店AP 706通信。外圍設(shè)備702還可以使用諸如Wi-Fi之類的無線通信與POS終端708通信,或者使用諸如在這里所掲示的任何有線連接。POS終端708通過數(shù)據(jù)網(wǎng)絡(luò)與服務(wù)器710通信。服務(wù)器710和商店AP 706都聯(lián)網(wǎng)到因特網(wǎng)712。優(yōu)選的是,系統(tǒng)700允許擁有智能電話機704和外圍設(shè)備702的客戶通過Wi-Fi連接進行支付處理。系統(tǒng)700可以支持至少兩種支付事務(wù)。在第一事務(wù)類型中,系統(tǒng)700使用以下步驟I.外圍設(shè)備702掃描Wi-Fi信道,以搜索智能電話機704,在發(fā)現(xiàn)時與它安全配對。2.商店出納員在POS終端708處登錄事務(wù)。3. POS終端708通過Wi-Fi連接將總事務(wù)量發(fā)送給外圍設(shè)備702,外圍設(shè)備702再通過Wi-Fi將它發(fā)送給智能電話機704。4.客戶通過智能電話機704核準事務(wù)。5.外圍設(shè)備702將客戶已核準事務(wù)的指示發(fā)送給POS終端708。6.然后,外圍設(shè)備702斷離智能電話機704。在第二種事務(wù)的情況下,系統(tǒng)使用以下步驟I.智能電話機704運行識別具有有效范圍的外圍設(shè)備702通過Wi-Fi網(wǎng)絡(luò)發(fā)送的MAC地址的應(yīng)用。2.當(dāng)識別了 MAC地址時,智能電話機704就啟動與外圍設(shè)備702的Wi-Fi連接。3.外圍設(shè)備702與POS終端708或商店AP 706通信,從而獲得有關(guān)客戶賬戶的信息,例如誠信、優(yōu)待券之類。通信可以在無線信道B上進行,或者通過POS終端708通過服務(wù)器710和/或因特網(wǎng)712進行。4.程序然后執(zhí)行以上第一事務(wù)類型的步驟3-6。在諸如超級市場內(nèi)的多個結(jié)帳通道之類的多通道支付系統(tǒng)中,可能有在客戶機例如智能電話機704與服務(wù)器例如外圍設(shè)備702之間的配對模糊。有各種方法來解決這種多通道問題。ー種方法是使用RF三角測量。另ー種方法是改變從外圍設(shè)備702發(fā)射無線信號的范圍,以防止從ー個通道與其他通道通信。為此,可以將外圍設(shè)備702配置成執(zhí)行以下步驟I.外圍設(shè)備702將它傳輸?shù)腤i-Fi范圍限制到幾英寸(圖17中的信道A),直至在智能電話機704處在很接近的范圍內(nèi)時通信開始。外圍設(shè)備通過減小它的Wi-Fi發(fā)送功率來達到這個目的。智能電話機704由于客戶將外圍設(shè)備702與智能電話機704緊握在一起而進入作用范圍內(nèi)。2. 一旦Wi-Fi與智能電話機704的通信建立,外圍設(shè)備702的傳輸距離可以増加到容許客戶正常握持電話機。一旦在外圍設(shè)備702與智能電話機704之間建立了 Wi-Fi會話就不會發(fā)生通道之間的串?dāng)_。3.如果外圍設(shè)備702需要與商店的Wi-Fi AP 706進行遠程WAN/因特網(wǎng)連接的通信,可以以多路傳輸?shù)姆绞綄⑦@范圍從至客戶的智能電話機704的短距離改變?yōu)橹辽痰甑?Wi-Fi AP 706的長距離(圖17中的信道B)。外圍設(shè)備也可以按需要在接入點模式與客戶機模式之間改變。4. 一旦支付過程完成,程序就返回到步驟I??梢詫ⅸ`些附加功能添加給外圍設(shè)備,以改善實用性。這樣ー些功能可以包括安全措施、媒體重放同歩、將多個文件組合成單個文件(例如,TV上照片共享)、文件的自動代碼轉(zhuǎn)換(例如視頻和/或音頻文件、文檔例如從.doc轉(zhuǎn)換到.pdf)之類。本公開介紹了用于外圍設(shè)備的一些新的方法和體系結(jié)構(gòu)以創(chuàng)建提供既可用作USB外圍設(shè)備又可用作獨立設(shè)備的新功能的新的增強功能。這種體系結(jié)構(gòu)的ー些配置涉及具有與傳統(tǒng)的USB海量存儲設(shè)備相同的功能,但由于添加了不是通過USB端ロ而是通過涉及外圍設(shè)備上所包括的數(shù)據(jù)存儲器的共享存儲器方案直接接ロ的附加功能,這些配置是新穎的。該附加功能可以是通信,例如,諸如Wi-Fi、3G/4G蜂窩調(diào)制解調(diào)器、藍牙、NFC、紅外之類的無線調(diào)制解調(diào)器,或者諸如USB、以太網(wǎng)之類的有線通信。在另ー種方法中,諸如處理器之類的復(fù)雜狀態(tài)機提供與USB端ロ配合或獨立的功能操作。這些功能操作包括在USB端ロ與其他功能(諸如通信功能、對數(shù)據(jù)存儲器的文件或數(shù)據(jù)庫存取)之間的存儲器存取的低層次仲裁或者一些高層次功能,諸如網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)同步引擎、加密/解密、驗證和其他復(fù)雜狀態(tài)功能之類。在這里所說明的系統(tǒng)、設(shè)備和它們各自的組件以及方法步驟和程序塊的功能可以用由處理器執(zhí)行的硬件、軟件或固件或者它們的任何適當(dāng)組合實現(xiàn)。軟件/固件可以是ー個或多個具有可由ー個或多個數(shù)字電路或處理器(諸如微處理器、DSP、嵌入式控制器或知識產(chǎn)權(quán)(IP)內(nèi)核)執(zhí)行的ー些指令組(例如,代碼段)的程序。如果用軟件/固件實現(xiàn),指令或代碼可以被存儲在一個或多個計算機可讀媒體上。計算機可讀媒體包括計算機存儲媒體和通信媒體(包括任何可將計算機程序從ー處傳送到另ー處的媒體)。存儲媒體可以是可以由計算機進行存取的任何可用媒體。例如(但不局限干),這樣的計算機可讀媒體可以包括RAM、ROM、EEPROM、NAND/N0R閃存、CD-ROM或其他固態(tài)存儲器,光盤存儲、磁盤存儲器或其他磁存儲器,或者任何其他可以用來承載或存儲呈現(xiàn)為指令或數(shù)據(jù)結(jié)構(gòu)的所希望的程序代碼和可以由計算機進行存取的媒體。如在這里所使用的,所謂〃盤〃包括光盤(CD)、激光盤、數(shù)字通用盤(DVD)、軟磁盤和籃光盤,其中磁盤通常以磁的方式再現(xiàn)數(shù)據(jù),而光盤用激光以光的方式再現(xiàn)數(shù)據(jù)。在計算機可讀媒體的范圍內(nèi)還應(yīng)包括以上這些的ー些組合。熟悉該技術(shù)的普通人員從這些教導(dǎo)中很容易想到以上所說明的這些方法、設(shè)備系統(tǒng)和裝置的其他實施方式和改型。因此,以上說明是例示性的而不是限制性的。本發(fā)明僅由以下權(quán)利要求書限定,結(jié)合以上說明書和附圖可以看到以下權(quán)利要求書涵蓋了所有這樣的其他實施方式和改型。因此,本發(fā)明的范圍不應(yīng)被限制在以上的說明,而是應(yīng)由所附權(quán)利
要求書及其整個等效范圍確定。
權(quán)利要求
1.一種用于圖形存取設(shè)備和塊存取設(shè)備同時對在這些設(shè)備之間共享的存儲器池進行存取的方法,所述方法包括 監(jiān)視塊存取設(shè)備在對存儲器池進行存取時所執(zhí)行的一個或多個存儲塊存取操作; 將塊存取操作轉(zhuǎn)換為包括將存儲器池映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu);以及 圖形存取設(shè)備按照圖形數(shù)據(jù)結(jié)構(gòu),與塊存取設(shè)備同時對存儲器池進行存取。
2.權(quán)利要求I的方法,所述方法還包括 塊存取設(shè)備試圖對存儲器池內(nèi)第一存儲塊進行寫入; 確定圖形存取設(shè)備當(dāng)前是否正在對第一存儲塊進行存取; 如果圖形存取設(shè)備當(dāng)前正在對第一存儲塊進行存取,塊存取設(shè)備就對第二存儲塊而不是第一存儲塊進行寫入;以及 將圖形數(shù)據(jù)結(jié)構(gòu)解析成指示塊存取設(shè)備所執(zhí)行的寫入的至少ー個存儲器位置。
3.權(quán)利要求2的方法,其中,解析圖形數(shù)據(jù)結(jié)構(gòu)包括將圖形數(shù)據(jù)結(jié)構(gòu)內(nèi)的指針從指示第一存儲塊變?yōu)橹甘镜诙鎯K。
4.權(quán)利要求2的方法,其中,所述解析圖形數(shù)據(jù)結(jié)構(gòu)包括在圖形存取設(shè)備完成它對第一存儲塊的存取后將第二存儲塊的內(nèi)容拷貝給第一存儲塊。
5.權(quán)利要求I的方法,其中,所述存儲器池是單個邏輯存儲器。
6.權(quán)利要求I的方法,其中,所述存儲器池包括在外圍設(shè)備內(nèi)。
7.權(quán)利要求I的方法,其中,所述存儲器池分布在多個分開的聯(lián)網(wǎng)設(shè)備之間。
8.權(quán)利要求I的方法,其中,所述圖形存取設(shè)備包括被配置成通過無線鏈路對存儲器池進行存取的無線客戶機。
9.權(quán)利要求I的方法,其中,所述塊存取設(shè)備包括被配置成通過USB連接對存儲器池進行存取的USB主機。
10.權(quán)利要求I的方法,其中,所述塊存取設(shè)備在存儲器塊存取操作期間為對存儲器池進行存取,提供都處在存儲器池內(nèi)的離散的開始位置存儲器地址和離散的結(jié)束位置存儲器地址。
11.權(quán)利要求I的方法,其中,所述監(jiān)視步驟包括 確定塊存儲器存取操作是否為對存儲器池內(nèi)存儲圖形數(shù)據(jù)結(jié)構(gòu)的存儲器位置進行寫入;以及 確定塊存儲器存取操作是否為對存儲器池內(nèi)存儲數(shù)據(jù)內(nèi)容的存儲器位置進行寫入。
12.權(quán)利要求11的方法,其中,所述轉(zhuǎn)換包括根據(jù)在塊存儲器存取操作期間塊存取設(shè)備所寫的存儲器位置,更新圖形數(shù)據(jù)結(jié)構(gòu)。
13.權(quán)利要求I的方法,其中,所述轉(zhuǎn)換包括根據(jù)對存儲器池內(nèi)預(yù)定存儲器地址的位置進行存取的塊存儲器存取操作的計數(shù),更新圖形數(shù)據(jù)結(jié)構(gòu)。
14.一種設(shè)備,包括 在圖形存取設(shè)備和塊存取設(shè)備之間共享的存儲器池; 監(jiān)視塊存取設(shè)備在對存儲器池進行存取時所執(zhí)行的一個或多個存儲器塊存取操作的裝置; 將塊存取操作轉(zhuǎn)換成包括將存儲器池映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu)的裝置;以及 圖形存取設(shè)備按照圖形數(shù)據(jù)結(jié)構(gòu)與塊存取設(shè)備同時對存儲器池進行存取的裝置。
15.—種外圍設(shè)備,包括 在圖形存取設(shè)備和塊存取設(shè)備之間共享的存儲器; 被配置成與塊存取設(shè)備通信的第一通信接ロ; 被配置成與圖形存取設(shè)備通信的第二通信接ロ ;以及 與存儲器以及第一和第二通信接ロ連接的處理器,被配置成 監(jiān)視塊存取設(shè)備在對存儲器進行存取時所執(zhí)行的一個或多個存儲器塊存取操作; 將塊存取操作轉(zhuǎn)換成包括將存儲器映射到分層文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu);以及 允許圖形存取設(shè)備按照圖形數(shù)據(jù)結(jié)構(gòu)在塊存取設(shè)備也在對存儲器進行存取時,同時對存儲器進行存取。
16.權(quán)利要求15的外圍設(shè)備,其中,所述存儲器包括在分布在外圍設(shè)備和至少ー個其他分開的設(shè)備之間的存儲器池內(nèi)。
17.權(quán)利要求15的外圍設(shè)備,其中,所述第二通信接ロ被配置成與多個圖形存取設(shè)備通信,而所述存儲器由塊存取設(shè)備和多個圖形存取設(shè)備共享。
18.權(quán)利要求15的外圍設(shè)備,其中,所述處理器被配置成對存儲在存儲器內(nèi)的內(nèi)容加密。
19.權(quán)利要求15的外圍設(shè)備,其中,所述處理器被配置成對存儲在存儲器內(nèi)的內(nèi)容進行代碼轉(zhuǎn)換。
20.權(quán)利要求15的外圍設(shè)備,其中,所述處理器被配置成對塊存取設(shè)備進行驗證,并僅授權(quán)得到正確驗證的塊存取設(shè)備對存儲器進行存取。
21.權(quán)利要求15的外圍設(shè)備,其中,所述處理器被配置成對圖形存取設(shè)備進行驗證,并僅授權(quán)得到正確驗證的圖形存取設(shè)備對存儲器進行存取。
全文摘要
圖形存取設(shè)備和塊存取設(shè)備可以同時對它們所共享的存儲器池進行存取。存儲器池可以包括作為單個邏輯存儲器存取的一個或多個存儲陣列。塊存取設(shè)備將存儲器池作為平面存儲塊陣列進行存取,而圖形存取設(shè)備將存儲器池作為分層文件系統(tǒng)進行存取。通過監(jiān)視塊存取設(shè)備在它對存儲器池進行存取時所執(zhí)行的一個或多個存儲器塊存取操作來實現(xiàn)同時存取。這些塊存取操作被轉(zhuǎn)換成包括將存儲器池映射到分級文件系統(tǒng)的多個指針的圖形數(shù)據(jù)結(jié)構(gòu)。處理器管理對存儲器池的存取,被配置成允許圖形存取設(shè)備按照圖形數(shù)據(jù)結(jié)構(gòu)與塊存取設(shè)備同時對存儲器池進行存取。
文檔編號G06F13/16GK102870101SQ201080055392
公開日2013年1月9日 申請日期2010年10月26日 優(yōu)先權(quán)日2009年10月26日
發(fā)明者M·H·克拉普曼, B·E·馬斯頓布魯克 申請人:韋爾埃布爾股份有限公司