本公開一般涉及計算機輔助設計、可視化和制造系統(tǒng),產(chǎn)品生命周期管理(“PLM”)系統(tǒng),以及管理產(chǎn)品的數(shù)據(jù)和其他項目的類似系統(tǒng)(統(tǒng)稱為“產(chǎn)品數(shù)據(jù)管理”系統(tǒng)或PDM系統(tǒng))。
背景技術(shù):
:PDM系統(tǒng)管理PLM和其他數(shù)據(jù)。改進的系統(tǒng)是所期望的。技術(shù)實現(xiàn)要素:各種公開的實施例包括用于產(chǎn)品數(shù)據(jù)管理的方法以及相應的系統(tǒng)和計算機可讀介質(zhì)。一種方法包括接收分層數(shù)據(jù)結(jié)構(gòu),該分層數(shù)據(jù)結(jié)構(gòu)包括引用持久數(shù)據(jù)對象的多個結(jié)構(gòu)行,并接收與由分層數(shù)據(jù)結(jié)構(gòu)引用的持久數(shù)據(jù)對象對應的元數(shù)據(jù)。該方法包括根據(jù)元數(shù)據(jù)計算與每個持久對象對應的訪問控制表達式,其中,訪問控制表達式是串表示布爾表達式,并存儲訪問控制表達式。前面已經(jīng)相當廣泛地概述了本公開的特征和技術(shù)優(yōu)點,使得本領(lǐng)域技術(shù)人員可以更好地理解下面的詳細描述。在下文中將描述形成權(quán)利要求的主題的本公開的附加特征和優(yōu)點。本領(lǐng)域技術(shù)人員將理解,他們可以容易地使用所公開的概念和具體實施例作為用于修改或設計用于執(zhí)行本公開的相同目的的其他結(jié)構(gòu)的基礎。本領(lǐng)域技術(shù)人員還將認識到,這樣的等同構(gòu)造未偏離本公開最廣泛形式的精神和范圍。在進行下面的具體實施方式之前,闡述貫穿本專利文獻所使用的某些詞語或短語的定義可能是有利的:術(shù)語“包括”和“包含”及其派生詞意味著包括但不限于;術(shù)語“或”是包括性的,意指和/或;短語“與...相關(guān)聯(lián)”和“與...其相關(guān)聯(lián)”及其派生詞可以意指包括、被包括在內(nèi)、與……互連、包含、被包含在內(nèi)、連接到或與...連接、耦合到或與...耦合、可與...通信,與...合作、交織、并置、接近、綁定到或與...綁定、具有、具有……的性質(zhì)等;并且術(shù)語“控制器”意指控制至少一個操作的任何設備、系統(tǒng)或其部分,無論這樣的設備是以硬件、固件、軟件還是其中至少兩個的某組合來實現(xiàn)。應當注意,與任何特定控制器相關(guān)聯(lián)的功能可以是集中式的或分布式的,無論是本地的還是遠程的。貫穿本專利文獻提供了某些詞語和短語的定義,并且本領(lǐng)域普通技術(shù)人員將理解,這種定義在許多——如果不是大多數(shù)——情況下適用于這樣定義的詞語和短語的先前以及將來的使用。雖然一些術(shù)語可以包括各種各樣的實施例,但是所附權(quán)利要求書可以明確地將這些術(shù)語限制于具體實施例。附圖說明為了更完整地理解本公開及其優(yōu)點,現(xiàn)在對結(jié)合附圖進行的以下描述進行參考,其中相同的附圖標記表示相同的對象,并且其中:圖1示出了實施例可以實現(xiàn)在其中的數(shù)據(jù)處理系統(tǒng)的框圖;圖2示出了可以在實現(xiàn)所公開的實施例中使用的數(shù)據(jù)結(jié)構(gòu)和元素;圖3示出了根據(jù)所公開的實施例的過程的流程圖。具體實施方式下面討論的圖1至圖3以及在本專利文檔中用于描述本公開的原理的各種實施例僅僅當作說明,并且不應以任何方式被解釋為限制本公開的范圍。本領(lǐng)域技術(shù)人員將理解,可以在任何適當布置的設備中實現(xiàn)本公開的原理。將參考示例性非限制性實施例來描述本申請的眾多創(chuàng)新教導。在當前的PLM數(shù)據(jù)交換領(lǐng)域中,尤其是當涉及諸如PDM物料清單(“BOM”)之類的已配置產(chǎn)品結(jié)構(gòu)時,越來越強調(diào)數(shù)據(jù)檢索和可訪問性的高性能和可擴展性。BOM結(jié)構(gòu)可以擔當生產(chǎn)最終產(chǎn)品所需的所有原材料、子組件、中間組件、子部件、部件、部分、量和其他信息的分層列表。“BOM行(line)”表示BOM的部分、組件、其他部分的分解配置實例,并且“結(jié)構(gòu)行”指用于非BOM實施例的類似表示。可以將組件或部分分解和配置為產(chǎn)生BOM行的物料清單(BOM)樹。分解重新排列(permute)組件/子組件路徑以為BOM樹中的每個部件產(chǎn)生正確數(shù)量的部分行并為BOM樹中的每個組件產(chǎn)生正確數(shù)量的組件行。樹中的行的位置由沿著從行到根行(rootline)的(單個)路徑的變換的級聯(lián)(concatenation)來給出。配置使用配置規(guī)則來確定哪個單個部分修訂要用于BOM樹中的給定部分以及哪個單個組件修訂要用于BOM樹中的給定組件。可以使用各種算法以非常高的速度訪問索引的產(chǎn)品結(jié)構(gòu)數(shù)據(jù),但是除了這種BOM行的快速檢索之外,系統(tǒng)還應當驗證當前用戶是否有特權(quán)查看在該特定BOM行中的所有信息、部分信息或者無權(quán)查看。保護數(shù)據(jù)并且允許對具有適當特權(quán)的實體(用戶,軟件代理等)進行訪問是大多數(shù)企業(yè)軟件系統(tǒng)的關(guān)鍵元素。許多系統(tǒng),包括產(chǎn)品生命周期產(chǎn)品,將訪問控制列表(ACL)定義為針對對象定義的許可的列表。魯棒的安全模型通常包含優(yōu)先級(precedence)和分層規(guī)則的集合,其基于對象狀態(tài)、元定義和訪問實體的身份而準許或拒絕訪問控制。在這些系統(tǒng)中,數(shù)據(jù)的安全性由規(guī)則和ACL與關(guān)于用戶的信息的組合來確定,關(guān)于用戶的信息諸如組成員資格,項目成員資格,國籍,地理位置,其一起確定用戶與數(shù)據(jù)交互的授權(quán)。在這些系統(tǒng)中,每次允許/拒絕訪問時,在運行時對規(guī)則進行評估。一些算法通過檢查作為特定BOM行的任何性質(zhì)、實例化對象或父對象的一部分的所有持久數(shù)據(jù)對象的特權(quán)來實現(xiàn)這一點。這種方法不僅非常慢,而且當例如從索引的結(jié)構(gòu)檢索數(shù)據(jù)時也不適用,其中BOM行性質(zhì)的ad-hoc重新評估不是選項。所公開的實施例包括用于在訪問諸如BOM結(jié)構(gòu)和其他結(jié)構(gòu)之類的結(jié)構(gòu)時有效地執(zhí)行訪問控制功能的改進的系統(tǒng)和方法。圖1示出了實施例可以實現(xiàn)在其中的數(shù)據(jù)處理系統(tǒng)的框圖,例如實施例可以實現(xiàn)為特別是由軟件或以其他方式被配置以執(zhí)行如本文所描述的處理的PDM系統(tǒng),并且特別實現(xiàn)為如本文所描述的多個互連和通信系統(tǒng)中的每一個。所描繪的數(shù)據(jù)處理系統(tǒng)包括連接到二級高速緩存/橋接器104的處理器102,二級高速緩存/橋接器104繼而連接到本地系統(tǒng)總線106。本地系統(tǒng)總線106例如可以是外圍部件互連(PCI)架構(gòu)總線。在所描繪的示例中還連接到本地系統(tǒng)總線的是主存儲器108和圖形適配器110。圖形適配器110可以連接到顯示器111。諸如局域網(wǎng)(LAN)/廣域網(wǎng)/無線(例如WiFi)適配器112之類的其他外圍設備也可以連接到本地系統(tǒng)總線106。擴展總線接口114將本地系統(tǒng)總線106連接到輸入/輸出(I/O)總線116。I/O總線116連接到鍵盤/鼠標適配器118、盤控制器120和I/O適配器122。盤控制器120可以連接到記憶裝置126,記憶裝置126可以是任何適當?shù)臋C器可用或機器可讀的存儲介質(zhì),包括但不限于非易失性硬編碼型介質(zhì),諸如只讀存儲器(ROM)或可擦除電可編程只讀存儲器(EEPROM)、磁帶記憶裝置以及用戶可記錄型介質(zhì),諸如軟盤、硬盤驅(qū)動器和光盤只讀存儲器(CD-ROM)或數(shù)字通用盤(DVD)和其他已知的光、電或磁存儲設備。在所示的示例中還連接到I/O總線116的是音頻適配器124,揚聲器(未示出)可以連接到該音頻適配器124用于播放聲音。鍵盤/鼠標適配器118提供用于諸如鼠標、軌跡球、軌跡指針(trackpoiner)、觸摸屏等的指示設備(未示出)的連接。本領(lǐng)域技術(shù)人員將了解,圖1中所描繪的硬件可以針對特定實施而變化。例如,除了所描繪的硬件之外或者代替所描繪的硬件,也可以使用其他外圍設備,比如光盤驅(qū)動器等。僅僅為了解釋的目的提供所描繪的示例,并且所描繪的示例不意味著暗示關(guān)于本公開的架構(gòu)限制。根據(jù)本公開的實施例的數(shù)據(jù)處理系統(tǒng)包括采用圖形用戶接口的操作系統(tǒng)。操作系統(tǒng)允許在圖形用戶接口中同時呈現(xiàn)多個顯示窗口,其中每個顯示窗口提供到不同應用或到相同應用的不同實例的接口。圖形用戶接口中的光標可以由用戶通過指示設備來操縱。可以改變光標的位置和/或生成諸如點擊鼠標按鈕的事件以致動期望的響應。如果適當?shù)剡M行修改,則可以采用各種商業(yè)操作系統(tǒng)中的一個,例如位于華盛頓州雷德蒙德的微軟公司的產(chǎn)品——MicrosoftWindowsTM的版本。根據(jù)所描述的本公開修改或創(chuàng)建操作系統(tǒng)。LAN/WAN/無線適配器112可以連接到網(wǎng)絡130(不是數(shù)據(jù)處理系統(tǒng)100的一部分),網(wǎng)絡130可以是任何公共或私有數(shù)據(jù)處理系統(tǒng)網(wǎng)絡或網(wǎng)絡的組合,如本領(lǐng)域技術(shù)人員已知的那樣,包括因特網(wǎng)。數(shù)據(jù)處理系統(tǒng)100可以通過網(wǎng)絡130與服務器系統(tǒng)140通信,服務器系統(tǒng)140也不是數(shù)據(jù)處理系統(tǒng)100的一部分,但是例如可以將它實現(xiàn)為單獨的數(shù)據(jù)處理系統(tǒng)100。所公開的實施例可以在訪問諸如BOM結(jié)構(gòu)和其他結(jié)構(gòu)之類的結(jié)構(gòu)時有效地執(zhí)行訪問控制功能。特別地,所公開的過程可以使用針對BOM行的所有索引的信息所捕獲的預先計算的配方(recipe)以執(zhí)行性質(zhì)訪問的基于集合的評估,BOM行的索引的信息諸如子項目、性質(zhì)和其他。這些過程可以以“訪問控制表達式”的形式存儲和使用針對所有相關(guān)持久數(shù)據(jù)對象的個體讀訪問特權(quán)信息,當在會話期間應用于具體登錄用戶時,該訪問特權(quán)信息產(chǎn)生針對該用戶的讀訪問特權(quán)。所公開的過程慮及性能優(yōu)化的定制和配置,諸如高速緩存每個會話的讀表達式串評估結(jié)果以及跳過所有配方對象可完全訪問的行,這導致非常高的性能水平。所公開的實施例可以使用在串表示中持續(xù)的讀訪問規(guī)則的有效計算和評估,使用基于集合的一般邏輯以及針對給定的預配置的和索引的BOM視圖維護表高速緩存。圖2示出了可以在實現(xiàn)所公開的實施例中使用的數(shù)據(jù)結(jié)構(gòu)和元素。記憶裝置226表示中央或分布式數(shù)據(jù)處理記憶裝置,其可以以非易失性和易失性存儲介質(zhì)的組合來實現(xiàn)。特別地,記憶裝置226中的一些或全部可以在數(shù)據(jù)處理系統(tǒng)記憶裝置126中或數(shù)據(jù)處理系統(tǒng)存儲器108中實現(xiàn),或者在這些的一些組合中實現(xiàn)。記憶裝置226存儲分層數(shù)據(jù)結(jié)構(gòu)210,其可以是BOM結(jié)構(gòu)或其他結(jié)構(gòu)。在下面描述的具體實施例中,對BOM結(jié)構(gòu)、BOM樹的引用或類似引用僅僅是分層數(shù)據(jù)結(jié)構(gòu)210的一個實現(xiàn)示例,其可以表示任何數(shù)據(jù),只要其可以如本文所描述的那樣進行訪問和處理。記憶裝置226還包括數(shù)據(jù)對象220,數(shù)據(jù)對象220可以包括下面描述的可由分層數(shù)據(jù)結(jié)構(gòu)210引用的持久數(shù)據(jù)對象,以及描述數(shù)據(jù)對象220的元數(shù)據(jù)225。記憶裝置226還包括下面描述的一個或多個高速緩存表230。在特定實施例中,可以將高速緩存表230存儲在更快的易失性存儲器中,而將分層數(shù)據(jù)結(jié)構(gòu)210和數(shù)據(jù)對象220存儲在非易失性存儲器中。這些可以包括:行表232,其包括結(jié)構(gòu)行242的列表、配方表234,其包括針對每個結(jié)構(gòu)行242的配方對象244的列表、以及訪問控制表達式表236,其包括針對持久數(shù)據(jù)對象220的訪問控制表達式246。圖3描繪了根據(jù)所公開的實施例的過程的流程圖,所述過程例如可以通過如本文所述的、下文中統(tǒng)稱為“系統(tǒng)”的一個或多個PLM或PDM系統(tǒng)來執(zhí)行。系統(tǒng)接收分層數(shù)據(jù)結(jié)構(gòu)(305)。如本文所使用的“接收”可以包括從記憶裝置加載、從另一設備或過程接收、經(jīng)由與用戶的交互接收、或以其他方式接收。分層數(shù)據(jù)結(jié)構(gòu)包括引用持久數(shù)據(jù)對象的多個結(jié)構(gòu)行;在一些實施例中,這被實現(xiàn)為分層數(shù)據(jù)結(jié)構(gòu)210,其是具有引用持久數(shù)據(jù)對象220的BOM行的BOM結(jié)構(gòu)。所公開的實施例可以執(zhí)行在串表示(也稱為“訪問讀取串”)中持續(xù)的訪問控制表達式的有效計算和評估。系統(tǒng)接收與由分層數(shù)據(jù)結(jié)構(gòu)引用的持久數(shù)據(jù)對象對應的元數(shù)據(jù)(310)。系統(tǒng)為分層數(shù)據(jù)結(jié)構(gòu)的至少一部分創(chuàng)建至少一個高速緩存表(315)。在一些BOM結(jié)構(gòu)實施例中,系統(tǒng)創(chuàng)建三個表,所有這些表都可以存儲為高速緩存表230:包括與分層數(shù)據(jù)結(jié)構(gòu)對應的結(jié)構(gòu)行的列表的行表,其在特定實施例中是BOM結(jié)構(gòu)中的BOM行:行UIDProp1Prop2…Prop_n-1Prop_n配方表包括針對每個結(jié)構(gòu)行的配方對象的列表,針對每個結(jié)構(gòu)行的配方對象在特定實施例中是針對每個BOM行的BOM配方對象。這些配方對象是作為輸入所需的持久數(shù)據(jù)對象,以便在行表中構(gòu)造結(jié)構(gòu)行及其組成性質(zhì):行UIDRecipe_uidRecipe_propsBOM行的穩(wěn)定同一性(identity)配方對象(持久)的穩(wěn)定同一性包含這個配方對象的性質(zhì)的列表如下所述,對于感興趣的所有相關(guān)的持久數(shù)據(jù)對象“OBJ_HASH”和“HASHED_READEXPR”,分別包括訪問控制表達式的列表的訪問控制表達式表:UIDObject_hash配方對象的穩(wěn)定同一性散列的讀取表達式Readexpr_hashReadexpr_string散列完全訪問控制表達式可以在分層數(shù)據(jù)結(jié)構(gòu)的初始接收、編索引或生成期間對這些表進行部分填充,無論它是BOM結(jié)構(gòu)還是其他結(jié)構(gòu)。系統(tǒng)根據(jù)元數(shù)據(jù)計算與每個持久對象對應的訪問控制表達式(320)。針對每個持久對象的訪問控制規(guī)則是布爾表達式,并且可以被存儲為串表示。這可以包括計算針對持久對象的每個性質(zhì)的訪問控制表達式。系統(tǒng)基于獨立于最終用戶認證的每個對象的元數(shù)據(jù)來計算訪問控制表達式,并且通過生成布爾表達式來執(zhí)行授權(quán)。通過在運行時評估布爾表達式以及最終用戶會話信息而不是關(guān)于每個訪問重新評估規(guī)則來確定對象訪問。如果對象狀態(tài)改變或者規(guī)則改變,則重新計算布爾表達式。通過避免對每個訪問的規(guī)則計算,顯著地改進了性能。預計算還通過對數(shù)據(jù)庫內(nèi)解算相對存儲器內(nèi)計算進行杠桿利用,因此最終導致提供對象的安全準確計數(shù)的能力來慮及更好的評估算法,這對于當前算法是不可行的。在典型的訪問控制表達式評估中,根據(jù)各種實施例,以下三個參數(shù)扮演重要角色:對象元數(shù)據(jù),比如對象類型、對象名稱、狀態(tài)、所擁有的組、分類、域等;最終用戶認證和授權(quán),比如最終用戶的用戶id、組、角色、域、項目、國籍、許可級別等;以及規(guī)則在整個規(guī)則樹中的優(yōu)先級/放置。例如,考慮允許基于對象元數(shù)據(jù)、用戶認證和授權(quán)的規(guī)則的定義的安全系統(tǒng),并且該系統(tǒng)支持嚴格的分層規(guī)則處理。對于此規(guī)則系統(tǒng),考慮以下參數(shù):“M”表示規(guī)則中的不同對象類型及其元數(shù)據(jù)參數(shù)的數(shù)量;“U”表示規(guī)則中的最終用戶的認證和授權(quán)參數(shù)的數(shù)量;并且“N”表示規(guī)則樹中的規(guī)則的數(shù)量。在這種情況下,為了確定對對象的ACL,系統(tǒng)平均執(zhí)行N次檢查,即,它是經(jīng)典O(n)問題。在稀疏填充的系統(tǒng)(即,大M)中,此處理時間為每對象毫秒級。所公開的過程獨立于最終用戶認證和授權(quán)基于每個對象的元數(shù)據(jù)使用訪問控制表達式的預先計算,以便生成布爾表達式。系統(tǒng)存儲訪問控制表達式(325)。將訪問控制表達式作為額外的性質(zhì),例如作為每個數(shù)據(jù)對象220的性質(zhì),在上述表中或者以其他方式針對各個對象進行存儲。訪問控制表達式可以作為布爾表達式以串表示存儲??梢栽诜謱訑?shù)據(jù)結(jié)構(gòu)的初始接收、編索引或生成期間計算訪問控制表達式,無論它是BOM結(jié)構(gòu)還是其它,上述表何時創(chuàng)建或其他。注意,可以基于用戶憑證來評估個別的訪問控制表達式的實際值真/假,然而,不再需要規(guī)則樹并且這種訪問控制表達式可以非常大。系統(tǒng)從用戶接收對于一個或多個結(jié)構(gòu)行的訪問請求(330)。該訪問請求可以來自代表用戶進行動作的任何過程并且使用用戶的憑證來訪問結(jié)構(gòu)行,所述結(jié)構(gòu)行可以是BOM行。訪問請求可以是讀請求,寫請求或其他。系統(tǒng)基于用戶的憑證和訪問控制表達式來準許或拒絕對結(jié)構(gòu)行的訪問(335)。這可以包括準許或拒絕對每個整個結(jié)構(gòu)行的訪問,或者可以包括準許或拒絕對每個結(jié)構(gòu)行的具體性質(zhì)的訪問。作為一個示例,考慮系統(tǒng)應該允許在以下條件下對給定對象的訪問:(如果角色是管理者)或(如果組不被支持)或(角色不是供應者)或(用戶國籍是美國)。這可以用緊湊的編碼記號表示為其中“U”表示“允許用戶”,“u”表示“拒絕用戶”,“G”表示“允許組”,“g”表示“拒絕組”,“R”表示“允許角色”,并且“r”表示“拒絕角色”。在此示例中,如果供應者是試圖訪問上述對象的用戶,則由于“r(供應者)”,所以評估所計算的有效訪問控制表達式將拒絕對該對象和包括該對象的任何BOM行的訪問。根據(jù)所公開的實施例,系統(tǒng)依賴于針對每個對象的訪問控制表達式和包括認證和授權(quán)信息的最終用戶憑證,避免了在每次訪問時評估規(guī)則樹的計算成本。相反,將運行時訪問控制評估減少到評估相應的訪問控制表達式的布爾表達式??梢詫⒋朔椒☉糜诨谝?guī)則的安全模型和基于ACL的安全模型兩者。當應用于企業(yè)搜索問題空間時,所公開的實施例允許以有效的方式來保護從來自多個系統(tǒng)的數(shù)據(jù)構(gòu)建的搜索索引,這在歷史上對于搜索引擎來說是具有挑戰(zhàn)性的區(qū)域。根據(jù)所公開的實施例,可以如下所述地執(zhí)行用于基于用戶的憑證和訪問控制表達式來準許或拒絕對結(jié)構(gòu)行的訪問的過程。對于所討論的結(jié)構(gòu)行的列表,系統(tǒng)確定針對每行的所有配方對象的列表。這些是感興趣的持久數(shù)據(jù)對象,即,系統(tǒng)必須為其發(fā)現(xiàn)讀訪問特權(quán)值的對象。這可以通過評估與每個配方對象對應的訪問控制表達式的列表來完成。注意:唯一讀表達式的數(shù)量(通過對散列進行比較確定的)通常遠小于總的配方對象本身的數(shù)量。系統(tǒng)可以使用運行時高速緩存來跟蹤針對當前會話的任何已評估的訪問控制表達式。這有助于避免重新計算。系統(tǒng)可以找到具有至少一個非特權(quán)(un-privileged)配方對象的所有結(jié)構(gòu)行(即,具有至少一個這樣的對象的結(jié)構(gòu)行:基于訪問控制表達式和用戶憑證,拒絕對所述至少一個對象的訪問)。所有其他行都是完全可讀的(允許訪問)且不再需要進一步考慮。對于非特權(quán)行的剩余的集合,系統(tǒng)確定哪些結(jié)構(gòu)行性質(zhì)不可見。為了這樣做,對于每個感興趣的結(jié)構(gòu)行(即,僅是具有小于100%的訪問的結(jié)構(gòu)行——結(jié)構(gòu)行的小子集)的每個持久對象,系統(tǒng)獲得受其影響的所有性質(zhì)的列表。如果給定的性質(zhì)在該列表中并且受非特權(quán)配方對象影響,則系統(tǒng)將該性質(zhì)標記為不可讀。這可以以基于集合的方式來完成,并且因此返回關(guān)于感興趣的所有這樣的行的所有不可讀性質(zhì)。如上所述,可以通過在運行時評估布爾表達式以及最終用戶會話信息來確定對象訪問,而不是關(guān)于每個訪問重新評估規(guī)則。當然,本領(lǐng)域技術(shù)人員將認識到,除非由操作序列具體指示或要求,否則上述過程中的某些步驟可以被省略、同時或順序執(zhí)行、或者以不同的順序執(zhí)行。本領(lǐng)域技術(shù)人員將認識到,為了簡單和清楚,本文中沒有描繪或描述適于與本公開一起使用的所有數(shù)據(jù)處理系統(tǒng)的完全結(jié)構(gòu)和操作。代之以,僅描繪和描述了本公開所特有或?qū)斫獗竟_所必需的數(shù)據(jù)處理系統(tǒng)中的有限部分(onlysomuch)。數(shù)據(jù)處理系統(tǒng)100的其余構(gòu)造和操作可以符合本領(lǐng)域中已知的各種當前實現(xiàn)和實踐中的任何實現(xiàn)和實踐。重要的是注意,雖然本公開包括在完全功能系統(tǒng)的上下文中的描述,但是本領(lǐng)域技術(shù)人員將理解,本公開的機制的至少部分能夠以指令的形式來分布,所述指令包含在各種形式中的任何形式的機器可用、計算機可用或計算機可讀介質(zhì)內(nèi),并且不管被利用來實際執(zhí)行該分布的指令或信號承載介質(zhì)或存儲介質(zhì)的特定類型,本公開都同樣適用。機器可用/可讀或計算機可用/可讀介質(zhì)的示例包括:非易失性硬編碼型介質(zhì),諸如只讀存儲器(ROM)或可擦除電可編程只讀存儲器(EEPROM),以及用戶可記錄型介質(zhì),諸如軟盤、硬盤驅(qū)動器和光盤只讀存儲器(CD-ROM)或數(shù)字多功能盤(DVD)。雖然已經(jīng)詳細描述了本公開的示例性實施例,但是本領(lǐng)域技術(shù)人員將理解,在不脫離其最廣泛形式的本公開的精神和范圍的情況下,可以進行本文公開的各種改變、替換、變型和改進。本申請中的描述都不應解讀為暗示任何特定元素、步驟或功能是必須包括在權(quán)利要求范圍內(nèi)的必要元素:專利主題的范圍僅由允許的權(quán)利要求書來限定。此外,這些權(quán)利要求中沒有一個旨在援引35USC§112(f),除非確切的詞“用于...的裝置”后面是分詞。當前第1頁1 2 3