封裝其它憑據(jù)提供者的憑據(jù)提供者的制作方法
【專利摘要】本文中描述了用于在單個(gè)包封CP內(nèi)封裝多個(gè)基于Windows?的憑據(jù)提供者(CP)的系統(tǒng)、方法和計(jì)算機(jī)可讀媒體。通常,來自兩個(gè)或更多個(gè)被封裝或包封CP的CP憑據(jù)和字段可以這樣的方式枚舉和聚集使得保持來自每個(gè)CP的字段的順序,識(shí)別并只呈現(xiàn)一次只可使用一次的字段,以及賦予字段新的唯一字段標(biāo)識(shí)符。所有此類字段的聯(lián)合(減去任何僅一次使用字段的復(fù)本)可用于生成映射,以便包封CP和CP憑據(jù)可將來自操作系統(tǒng)的登錄接口的調(diào)用“傳遞”到正確的被包封CP和CP憑據(jù)。公開的技術(shù)提供例如可用于其中可使用多個(gè)登記憑據(jù)(例如,用戶名/密碼和智能卡PIN)的單點(diǎn)登記功能性。
【專利說明】封裝其它憑據(jù)提供者的憑據(jù)提供者
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容一般涉及自動(dòng)化登錄過程領(lǐng)域。更具體但非限制性地說,它涉及用于在共同憑據(jù)提供者對(duì)象內(nèi)包封多個(gè)憑據(jù)提供者的技術(shù)。
【背景技術(shù)】
[0002]在使用MicrosoftWindows XP?或Windows Server? 2003操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)啟動(dòng)期間,Winlogon可執(zhí)行文件加載并且執(zhí)行圖形標(biāo)識(shí)和鑒權(quán)(GINA)動(dòng)態(tài)鏈接庫(kù)(DLL)。(WINDOWS XP和WINDOWS SERVER是Microsoft股份有限公司的注冊(cè)商標(biāo)。)一旦加載后,GNINA便提供可自定義用戶標(biāo)識(shí)和鑒權(quán)過程,并且負(fù)責(zé)渲染(rendering)登錄操作/過程的圖形方面。
[0003]通過使用GINA,軟件開發(fā)人員能夠通過確保在其它GINA的加載和執(zhí)行之前加載和執(zhí)行其定制的GINA,定制登錄過程用戶體驗(yàn)。軟件開發(fā)人員也能夠通過利用稱為“GINA鏈”的技術(shù),“再使用”以前開發(fā)的登錄功能性的功能性。由于存在必須調(diào)用的第一或“排頭”GINA,并且通過其可提供所有其它GINA,因此,GINA鏈?zhǔn)强赡艿?;鏈?zhǔn)降腉INA形成分層結(jié)構(gòu)。
[0004]從Windows Vista?中開始,LogonUI過程變得負(fù)責(zé)渲染登錄窗口的圖形方面,而全部登錄過程通過憑據(jù)提供者(CP)的使用進(jìn)行調(diào)和。(WINDOWS VISTA是Microsoft股份有限公司的注冊(cè)商標(biāo)。)要在此新環(huán)境中輸送GINA鏈提供的功能性,需要有“排頭” CP。然而,Windows Vista和Windows 7的登錄體系結(jié)構(gòu)使得所有注冊(cè)CP是彼此的對(duì)等體;不存在必須調(diào)用并且通過其可傳遞通信到其它CP的“排頭”CP。Microsoft提供有關(guān)在稱為“包封”的過程中一個(gè)CP能夠如何調(diào)用和再使用/擴(kuò)展正好一個(gè)其他CP的功能性的指導(dǎo)。也就是說,Microsoft允許僅一個(gè)CP的封裝或包封。因此,即使只允許一個(gè)CP在登錄時(shí)在活動(dòng)狀態(tài)(因此必須使用它)-它只能夠是一個(gè)其他CP的排頭CP。在此類設(shè)置中,GINA鏈的全部功能性不可能實(shí)現(xiàn)。有鑒于此,提供允許一個(gè)CP同時(shí)封裝或包封兩個(gè)或更多個(gè)其它CP的機(jī)制將是有益的。
【發(fā)明內(nèi)容】
[0005]在一個(gè)實(shí)施例中,提供了一種在計(jì)算機(jī)登錄操作期間控制用戶體驗(yàn)的方法。方法包括創(chuàng)建(例如,實(shí)例化)包封憑據(jù)提供者,該憑據(jù)提供者又創(chuàng)建多個(gè)憑據(jù)提供者,其中,每個(gè)憑據(jù)提供者具有指定數(shù)量的憑據(jù)和字段的有序列表。另外,每個(gè)字段具有憑據(jù)提供者特定標(biāo)識(shí)符和描述符。一旦創(chuàng)建憑據(jù)提供者,或者在憑據(jù)提供者創(chuàng)建期間,每個(gè)憑據(jù)提供者可指派有或獲得唯一提供者索引。隨后,可基于來自每個(gè)憑據(jù)提供者的字段的有序列表,生成映射列表,其中,在映射列表中保持來自單個(gè)憑據(jù)提供者的字段的順序。識(shí)別映射列表中的僅一次使用字段,并且指派唯一標(biāo)識(shí)符到每個(gè)僅一次使用字段的第一實(shí)例,為僅一次使用字段的每個(gè)隨后實(shí)例指派賦予相同僅一次使用字段的第一實(shí)例的標(biāo)識(shí)符。所述方法也可為登錄接口過程(例如,Windows LongonUI過程)提供足夠的信息,使得登錄接口過程能夠在顯示裝置上的單個(gè)窗口中顯示多個(gè)塊片(tile),其中,多個(gè)被包封憑據(jù)提供者的每個(gè)憑據(jù)提供者支持顯示的塊片至少之一。在另一實(shí)施例中,實(shí)現(xiàn)所述方法的計(jì)算機(jī)可執(zhí)行程序可存儲(chǔ)在可由計(jì)算機(jī)處理器讀取和執(zhí)行的任何非暫時(shí)性媒體中。此外,此類計(jì)算機(jī)處理器和計(jì)算機(jī)可執(zhí)行程序可在計(jì)算機(jī)系統(tǒng)中體現(xiàn)。此類計(jì)算機(jī)系統(tǒng)可以是獨(dú)立系統(tǒng),或者它可以耦合到通信網(wǎng)絡(luò)。
【專利附圖】
【附圖說明】
[0006]圖1A和IB以流程圖形式示出根據(jù)一個(gè)實(shí)施例的單點(diǎn)登記(single sign_on)操作。
[0007]圖2以流程圖形式示出根據(jù)一個(gè)實(shí)施例的憑據(jù)提供者包封操作。
[0008]圖3以流程圖形式示出根據(jù)一個(gè)實(shí)施例的字段映射操作。
[0009]圖4以框圖形式示出根據(jù)一個(gè)實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)。
[0010]圖5以框圖形式示出可用于實(shí)現(xiàn)根據(jù)本公開的一個(gè)或多個(gè)操作的說明性計(jì)算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0011]本公開涉及用于在單個(gè)“包封”憑據(jù)提供者(CP)對(duì)象內(nèi)包封或在功能上封裝多個(gè)基于Windows?的憑據(jù)提供者(CP)的系統(tǒng)、方法和計(jì)算機(jī)可讀媒體。(WINDOWS是Microsoft股份有限公司的注冊(cè)商標(biāo)。)概括而言,公開了其中單個(gè)CP對(duì)象實(shí)例識(shí)別、枚舉和分類來自兩個(gè)或更多個(gè)其它CP的字段的技術(shù),以便這些“被包封”CP憑據(jù)的每個(gè)憑據(jù)“屬于”包封CP并且能夠由包封CP控制,并且可在共同顯示窗口中顯示和由用戶以與其“解封”操作一致的方式選擇。更具體地說,可枚舉來自兩個(gè)或更多個(gè)CP的字段,并且識(shí)別僅可使用一次的那些字段。所有此類字段的聯(lián)合(減去僅可使用一次的那些字段的復(fù)本)可用于生成映射,以便包封CP可將調(diào)用從例如操作系統(tǒng)的登錄接口“傳遞”到正確的被包封CP (例如,Windows Vista和Windows 7中的LongonUI )。在本文中使用時(shí),短語“包封CP”或“被包封CP”指包含兩個(gè)或更多個(gè)其它憑據(jù)提供者的功能性的憑據(jù)提供者。類似地,短語“被包封CP”指其功能性已包含在包封CP內(nèi)的CP。
[0012]在單個(gè)CP內(nèi)提供多個(gè)CP功能性的另一方案是單點(diǎn)登記(SSO)能力的一些提供者采用的方案,是創(chuàng)建將逝査目標(biāo)CP的功能性編碼的單個(gè)CP (最重要CP (Uber alles CP))。使用此方案的實(shí)現(xiàn)通常必須將其能力要包含在最重要CP (例如,Microsoft智能卡CP)內(nèi)的每個(gè)CP的行為“反向工程”。這不但是個(gè)困難的任務(wù),而且從軟件管理的角度而言是一個(gè)難以維護(hù)的任務(wù)。將現(xiàn)有CP反向工程的任務(wù)可特別困難,這是因?yàn)閱蝹€(gè)CP能夠供應(yīng)多個(gè)異類憑據(jù),并且控制何時(shí)顯示它們。本文中描述的方案避免了這些困難。
[0013]在下面的描述中,為便于解釋,陳述了許多特定細(xì)節(jié)以便提供本發(fā)明概念的詳盡理解。作為此描述的一部分,本公開的一些附圖以框圖形式表示結(jié)構(gòu)和裝置以便避免混淆本發(fā)明。因此,應(yīng)理解的是,對(duì)無相關(guān)聯(lián)標(biāo)識(shí)符的編號(hào)附圖元素的引用(例如,900)指帶有標(biāo)識(shí)符的附圖元素的所有實(shí)例(例如,900a和900b)。另外,在本公開中使用的語言主要選擇用于實(shí)現(xiàn)可讀性和指導(dǎo)目的,并且可未選擇以描述或限定發(fā)明性主題,借助于確定此類發(fā)明性主題需要的權(quán)利要求。說明書對(duì)“一個(gè)實(shí)施例”或“實(shí)施例”的引用指結(jié)合該實(shí)施例描述的特定特性、結(jié)構(gòu)或特征包括在本發(fā)明的至少一個(gè)實(shí)施例中,并且對(duì)“一個(gè)實(shí)施例”或“一實(shí)施例”的多次引用不應(yīng)理解為必需全部引用相同實(shí)施例。
[0014]將領(lǐng)會(huì)的是,在任何實(shí)際實(shí)現(xiàn)的開發(fā)中(如在任何開發(fā)項(xiàng)目中一樣),必須做出許多決定以實(shí)現(xiàn)開發(fā)人員的特定目標(biāo)(例如,符合系統(tǒng)和業(yè)務(wù)有關(guān)約束),并且這些目的將從一個(gè)實(shí)現(xiàn)到另一實(shí)現(xiàn)不同。也將領(lǐng)會(huì)的是,此類開發(fā)工作可能復(fù)雜并耗時(shí),但仍然會(huì)是從本公開受益的計(jì)算機(jī)數(shù)據(jù)保護(hù)領(lǐng)域技術(shù)人員進(jìn)行的日常工作。
[0015]本文中將描述公開系統(tǒng)、方法和計(jì)算機(jī)可讀媒體的實(shí)施例,這是因?yàn)樗鼈兛捎糜跒閃indows Vista和Windows 7操作系統(tǒng)(OS)提供SSO能力。例如,為實(shí)現(xiàn)SSO功能性,可包封密碼和智能卡CP。在另一實(shí)施例中,SSO功能性也可包括指紋CP的使用。在一些實(shí)施例中,可靜態(tài)(例如,通過用戶設(shè)置或系統(tǒng)文件,例如Windows注冊(cè)表文件)確定要包封的CP。在其它實(shí)施例中,可動(dòng)態(tài)確定(即,在運(yùn)行時(shí))被包封CP的標(biāo)識(shí)。在還有的其它實(shí)施例中,可靜態(tài)確定一些被包封CP,并且可動(dòng)態(tài)確定其它被包封CP。
[0016]例如,以下描述教導(dǎo)將CP包封技術(shù)包含到來自McAfee有限公司的端點(diǎn)加密產(chǎn)品(通常,McAfee端點(diǎn)加密產(chǎn)品使用預(yù)引導(dǎo)鑒權(quán)過程提供完全磁盤加密和數(shù)據(jù)保護(hù))。另一說明性使用能夠是通過在現(xiàn)有例如用于特定憑據(jù)提供者的憑據(jù)上放置圖像,將公開的技術(shù)用于產(chǎn)品“品牌標(biāo)示”。在仍有的另一實(shí)施例中,基于例如時(shí)間、系統(tǒng)策略或誰已使用“第一”憑據(jù)登錄到系統(tǒng),可限制可用于登錄的Windows憑據(jù)。
[0017]參照?qǐng)D1A,在加載計(jì)算機(jī)系統(tǒng)的預(yù)引導(dǎo)OS時(shí)可開始根據(jù)一個(gè)實(shí)施例的SSO系統(tǒng)設(shè)置操作100(方框105)。也如本領(lǐng)域技術(shù)人員認(rèn)識(shí)到的一樣,可通過計(jì)算機(jī)系統(tǒng)的BIOS或引導(dǎo)固件提供預(yù)引導(dǎo)環(huán)境以提供在計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)外部的安全環(huán)境。在預(yù)引導(dǎo)期間,用戶可登錄到目標(biāo)系統(tǒng)上利用本文中所述包封技術(shù)的應(yīng)用(例如,端點(diǎn)加密)(方框110)。預(yù)引導(dǎo)完成時(shí),可啟動(dòng)Windows OS(方框115)。在Windows啟動(dòng)期間,LogonUI過程加載多個(gè)CP過濾器-一般情況下每個(gè)注冊(cè)的CP—個(gè)(方框120)。在Windows Vista和Windows 7中,Logonn過程實(shí)現(xiàn)在要求用戶登錄到本地機(jī)器時(shí)示出的圖形用戶接口。與包封CP相關(guān)聯(lián)的過濾器可配置成使得它阻止加載除包封CP外的所有CP (方框125)。一旦加載后,包封CP便加載兩個(gè)或更多個(gè)其它CP (方框130)。在一個(gè)實(shí)現(xiàn)中,要包封的CP的列表可與字段的標(biāo)識(shí)符一起提供以用于SSO “秘密”(例如,分別在密碼和智能卡CP中的密碼和PIN字段標(biāo)識(shí)符)。另一實(shí)現(xiàn)能夠動(dòng)態(tài)發(fā)現(xiàn)要包封的CP (例如,在運(yùn)行時(shí)通過“.1ni”或系統(tǒng)注冊(cè)表文件)。如果用戶的登錄憑據(jù)(例如,密碼或智能卡PIN)已知(方框135的“是”分叉),則操作100在圖1B中的方框140繼續(xù)。如果用戶的憑據(jù)不可用(方框135的“否”分叉),則操作100在圖1B的方框150繼續(xù)。
[0018]現(xiàn)在參照憑據(jù)可用情況下的圖1B,包封CP將那些憑據(jù)傳遞到被包封CP,并且請(qǐng)求它使用那些憑據(jù)使用戶登錄(方框140)。接收/被包封CP正常執(zhí)行以完成請(qǐng)求的任務(wù)。如果登錄成功(方框145的“是”分叉),則操作100在方框165繼續(xù)(在下面討論)。如果登錄不成功(方框145的“否”分叉),則Logonn過程顯示被包封CP的塊片(方框150)。術(shù)語“塊片”以其習(xí)慣性意義使用,并且指憑據(jù)的視覺表示,通常呈現(xiàn)為L(zhǎng)ogonn窗口內(nèi)的圖標(biāo)或小圖像。在Windows環(huán)境中,每個(gè)塊片/憑據(jù)后面是CP憑據(jù)對(duì)象,由CP創(chuàng)建,并且實(shí)現(xiàn)ICredentialProviderCredential接口。要注意的是,一個(gè)CP可創(chuàng)建多個(gè)塊片。
[0019]用戶可選擇塊片,這隨后造成調(diào)用塊片的相關(guān)聯(lián)CP。如果在選擇顯示的塊片之一后,用戶未能成功登錄(方框155的“否”分叉),則操作100返回到方框150。如果用戶成功登錄到目標(biāo)系統(tǒng)(方框155的“是”分叉),則用戶的“秘密”被以安全的方式捕捉和存儲(chǔ)(方框160)。在一個(gè)實(shí)施例中,用戶的秘密能夠是其用戶名和密碼。在另一實(shí)施例中,用戶的秘密能夠是智能卡的PIN標(biāo)識(shí)符。例如,用戶的名稱和/或密碼可在McAfee端點(diǎn)加密應(yīng)用內(nèi)以加密形式存儲(chǔ)。在成功登錄后,在主機(jī)的操作系統(tǒng)中啟動(dòng)用戶的會(huì)話(方框165)。
[0020]將認(rèn)識(shí)到的是,SSO操作100提供到Windows的自動(dòng)化登錄,但未去除如方框110中所述用戶最初登錄到包封應(yīng)用的要求。在操作100的上下文中,用戶體驗(yàn)是一旦它們成功登錄到在預(yù)引導(dǎo)期間加載的應(yīng)用(例如,端點(diǎn)加密),則該應(yīng)用在啟動(dòng)期間將其登錄憑據(jù)傳遞到Windows OS -結(jié)果是用戶自動(dòng)登錄到Windows中。
[0021]參照?qǐng)D2,通過加載為包封識(shí)別的那些CP,開始根據(jù)方框130的包封操作(方框200)。例如,在Windows環(huán)境中,根據(jù)方框200的動(dòng)作創(chuàng)建被包封CP COM對(duì)象的集合。一旦加載后,用于被包封CP的使用情形便可設(shè)成例如登錄或解鎖(方框205)。包封CP隨后可查詢每個(gè)被包封CP以獲得憑據(jù)的數(shù)量和與其各自相關(guān)聯(lián)的字段(方框210)。如下面更詳細(xì)所述,包封CP使用此信息生成一個(gè)或多個(gè)映射表(方框215)。在被要求時(shí),包封CP將總憑據(jù)計(jì)數(shù)傳遞到Logonn過程(方框220)。實(shí)際上,每個(gè)被包封CP生成其自己的憑據(jù)(一個(gè)或多個(gè)),將它們傳遞回包封CP。包封CP隨后將每個(gè)憑據(jù)返回到Logonn過程。此信息允許LogonUI顯示被包封CP的憑據(jù),好象被包封CP實(shí)際上在活動(dòng)狀態(tài)(即,未被包封)。
[0022]包封CP使用根據(jù)方框215生成的映射信息以充當(dāng)在Logonn過程與每個(gè)被包封CP之間的中間人(方框225)。也就是說,用戶選擇在顯示的登錄窗口中顯示的塊片時(shí),包封CP使用一個(gè)或多個(gè)映射表(或列表),以便用戶的動(dòng)作可轉(zhuǎn)發(fā)到適當(dāng)?shù)谋话釩P。
[0023]參照?qǐng)D3,映射操作215識(shí)別要包封的第一 CP,并且確定其憑據(jù)中的每個(gè)包含的字段數(shù)量,隨后枚舉通過每個(gè)字段以獲得其相關(guān)聯(lián)的字段描述符(方框300)。在Windows環(huán)境中,字段描述符可包含字段的字段標(biāo)識(shí)符和字段類型。說明性字段包括標(biāo)簽(例如,在編輯框旁的提示符)、編輯框(例如,通過其可輸入用戶數(shù)據(jù)的字段,如用戶名或密碼)、復(fù)選框和單選按鈕。已確定的是,一些CP字段只能夠在實(shí)現(xiàn)ICredentialProvider接口的CP中出現(xiàn)一次;即,與LogonUI過程交互(例如,包封CP)。在Windows Vista和Windows 7環(huán)境內(nèi),這類僅一次使用字段包括類型CPFT_SUBMIT_BUTT0N和CPFT_TILE_IMAGE的字段。相應(yīng)地,可識(shí)別僅一次使用字段(方框305)。
[0024]第一 CP的字段列表可放置到包封CP的聚集字段列表中,該列表到現(xiàn)在已為空(方框310)。也已發(fā)現(xiàn)的是,在Windows環(huán)境中,在包封CP的聚集字段列表內(nèi)保持單獨(dú)被包封CP的字段的順序是重要的(除對(duì)于僅一次使用字段外,參閱下述討論)。如果當(dāng)前CP不是要包封的最后CP (方框315的“否”分叉),則識(shí)別要包封的下一 CP,并且如上相對(duì)于方框300所述獲得其字段信息(方框320)。之后,操作215繼續(xù)到方框305,其中,如果當(dāng)前CP有任何僅一次使用字段,則識(shí)別當(dāng)前CP的僅一次使用字段(方框305)。象以前一樣,識(shí)別所有僅一次使用字段,并且從當(dāng)前CP的字段列表刪除以前識(shí)別的那些僅一次使用字段的復(fù)本。一旦已詢問要包封的所有CP,并且在包封CP的聚集字段列表中已包括其字段(方框315的“是”分叉),則可為其聚集字段列表中的每個(gè)字段生成對(duì)包封CP唯一的新字段標(biāo)識(shí)符(方框325)。此映射以此類方式進(jìn)行,使得包封CP能夠?qū)⑵渚奂侄瘟斜?其中帶有僅一次使用字段的單次出現(xiàn))中的字段反向與來自來源被包封CP的字段相關(guān);從包封CP的字段標(biāo)識(shí)符(其用于與Logonn過程進(jìn)行有關(guān)字段的通信)轉(zhuǎn)換回(被包封CP理解的)被包封CP的字段標(biāo)識(shí)符。根據(jù)本公開,包封CP的聚集字段列表在邏輯上由來自每個(gè)被封裝CP的所有字段的聯(lián)合減去僅一次使用字段的復(fù)本形成。
[0025]在上述實(shí)施例中,包封CP實(shí)現(xiàn)ICredentialProvider接口并且包含被包封CP的實(shí)例。從包封CP可用的憑據(jù)的數(shù)量是從被包封CP可用的憑據(jù)的數(shù)量之和。包封CP賦予每個(gè)憑據(jù)唯一索引號(hào),并且將此索引映射到被包封CP實(shí)例和憑據(jù)索引,從而使它能夠?qū)⒄{(diào)用從Logonn過程“傳遞”到在被包封CP的自己唯一憑據(jù)索引號(hào)的上下文中的特定被包封CP。包封CP中憑據(jù)(在特定索引號(hào))的每個(gè)實(shí)例實(shí)現(xiàn)ICredentialProviderCredential接口,并且將來自被包封CP的對(duì)應(yīng)憑據(jù)的實(shí)例“包封”。具體而言,包封CP的廣告方法將其到ICredentialProviderCredentialEvents接口的指針包封(在其事件對(duì)象中),并且將此對(duì)象賦予被包封CP的廣告方法。(在Windows Vista和Windows 7中,CP對(duì)象的廣告方法的目的是賦予CP用于異步通知Logonn關(guān)于CP的可見UI元素的任何所需更改的機(jī)制。)在被包封CP調(diào)用Logonn時(shí),包封CP的事件對(duì)象使用字段映射信息(參閱上面有關(guān)圖2在元素225的討論)將字段索引號(hào)從被包封CP的上下文映射回包封CP的上下文。
[0026]為說明一些上述操作,考慮將其憑據(jù)和字段信息在表1中示出的兩個(gè)CP包封。作為初步事項(xiàng),應(yīng)注意的是,兩個(gè)CP均利用僅一次使用字段(例如,提交按鈕和圖像塊片)。
表1要包封的說明性St據(jù)提供者
【權(quán)利要求】
1.一種非暫時(shí)性程序存儲(chǔ)裝置,包括上面存儲(chǔ)的用于促使可編程控制裝置執(zhí)行以下操作的指令: 創(chuàng)建多個(gè)憑據(jù)提供者,其中每個(gè)憑據(jù)提供者具有特定數(shù)量的憑據(jù)、字段的有序列表,其中每個(gè)字段具有憑據(jù)提供者特定標(biāo)識(shí)符,并且每個(gè)字段具有描述符; 指派唯一提供者索引到所述多個(gè)憑據(jù)提供者的每個(gè)憑據(jù)提供者; 從來自每個(gè)憑據(jù)提供者的字段的有序列表生成映射列表,其中在所述映射列表中保持來自單個(gè)憑據(jù)提供者的字段的順序; 識(shí)別所述映射列表中的僅一次使用字段; 指派唯一標(biāo)識(shí)符到所述映射列表中每個(gè)僅一次使用字段的第一實(shí)例; 為所述映射列表中一次使用字段的每個(gè)隨后實(shí)例指派與指派到所述映射列表中所述一次使用字段的第一實(shí)例相同的唯一標(biāo)識(shí)符;以及 指派唯一標(biāo)識(shí)符到所述映射列表中每個(gè)非僅一次使用字段。
2.如權(quán)利要求1所述的非暫時(shí)性程序存儲(chǔ)裝置,其中用于促使所述可編程控制裝置創(chuàng)建多個(gè)憑據(jù)提供者的指令包括用于促使所述可編程控制裝置基于憑據(jù)提供者的靜態(tài)列表創(chuàng)建所述多個(gè)憑據(jù)提供者的指令。
3.如權(quán)利要求1所述的非暫時(shí)性程序存儲(chǔ)裝置,其中用于促使所述可編程控制裝置創(chuàng)建多個(gè)憑據(jù)提供者的指令包括用于促使所述可編程控制裝置基于憑據(jù)提供者的運(yùn)行時(shí)標(biāo)識(shí)創(chuàng)建所述多個(gè)憑據(jù)提供者的指令。
4.如權(quán)利要求1所述的非暫時(shí)性程序存儲(chǔ)裝置,還包括用于促使所述可編程控制裝置執(zhí)行以下操作的指令:` 從所述多個(gè)憑據(jù)提供者的每個(gè)憑據(jù)提供者獲得指示每個(gè)憑據(jù)提供者的指定數(shù)量的憑據(jù)的數(shù)目;以及 將來自所述多個(gè)憑據(jù)提供者的每個(gè)憑據(jù)提供者的所述數(shù)目相加以確定憑據(jù)的總數(shù)。
5.如權(quán)利要求4所述的非暫時(shí)性程序存儲(chǔ)裝置,還包括用于促使所述可編程控制裝置執(zhí)行以下操作的指令: 為登錄接口過程提供指派到所述映射列表中字段的唯一標(biāo)識(shí)符的數(shù)量;以及 為所述登錄接口過程提供憑據(jù)的總數(shù)。
6.如權(quán)利要求1所述的非暫時(shí)性程序存儲(chǔ)裝置,還包括用于促使所述可編程控制裝置為登錄接口過程提供足以使所述登錄接口過程在顯示裝置上的單個(gè)窗口中顯示多個(gè)塊片的信息的指令。
7.如權(quán)利要求6所述的非暫時(shí)性程序存儲(chǔ)裝置,還包括用于促使所述可編程控制裝置執(zhí)行以下操作的指令: 接收來自所述登錄接口過程的對(duì)用于具有指定索引值的字段的字段描述符的請(qǐng)求; 識(shí)別所述映射列表中具有等于所述指定索引值的唯一標(biāo)識(shí)符的條目; 基于所述映射列表中的所述條目,獲得所述字段描述符;以及 為所述登錄接口過程提供所述字段描述符。
8.如權(quán)利要求6所述的非暫時(shí)性程序存儲(chǔ)裝置,還包括用于促使所述可編程控制裝置執(zhí)行以下操作的指令: 接收來自所述登錄接口過程的更新具有字段標(biāo)識(shí)符的字段的請(qǐng)求;基于所述請(qǐng)求識(shí)別所述多個(gè)憑據(jù)提供者之一; 基于所述映射列表中的條目,識(shí)別用于所述一個(gè)憑據(jù)提供者的字段描述符的憑據(jù)提供者特定標(biāo)識(shí)符;以及 向所述一個(gè)憑據(jù)提供者發(fā)送在所述憑據(jù)提供者特定標(biāo)識(shí)符識(shí)別的所述一個(gè)憑據(jù)提供者中更新字段的請(qǐng)求。
9.如權(quán)利要求1所述的非暫時(shí)性程序存儲(chǔ)裝置,其中生成映射列表的指令包括用于促使所述可編程控制裝置在存儲(chǔ)器中生成多個(gè)列表的指令。
10.如權(quán)利要求1所述的非暫時(shí)性程序存儲(chǔ)裝置,其中所述處理器包括多個(gè)可編程處理單元。
11.一種用于控制計(jì)算機(jī)登錄環(huán)境的方法,包括: 使用處理器創(chuàng)建多個(gè)憑據(jù)提供者,其中每個(gè)憑據(jù)提供者具有特定數(shù)量的憑據(jù)、字段的有序列表,其中每個(gè)字段具有憑據(jù)提供者特定標(biāo)識(shí)符,并且每個(gè)字段具有描述符; 使用所述處理器指派唯一提供者索引到所述多個(gè)憑據(jù)提供者的每個(gè)憑據(jù)提供者; 使用所述處理器從來自每個(gè)憑據(jù)提供者的字段的有序列表生成映射列表,其中在所述映射列表中保持來自單個(gè)憑據(jù)提供者的字段的順序; 使用所述處理器識(shí)別所述映射列表中的僅一次使用字段; 使用所述處理器指派唯一標(biāo)識(shí)符到所述映射列表中每個(gè)僅一次使用字段的第一實(shí)例;· 使用所述處理器為所述映射列表中一次使用字段的每個(gè)隨后實(shí)例指派與指派到所述映射列表中所述一次使用字段的第一實(shí)例相同的唯一標(biāo)識(shí)符;以及 使用所述處理器指派唯一標(biāo)識(shí)符到所述映射列表中每個(gè)非僅一次使用字段。
12.如權(quán)利要求11所述的方法,其中創(chuàng)建多個(gè)憑據(jù)提供者的動(dòng)作包括基于憑據(jù)提供者的靜態(tài)列表創(chuàng)建所述多個(gè)憑據(jù)提供者。
13.如權(quán)利要求11所述的方法,其中創(chuàng)建多個(gè)憑據(jù)提供者的動(dòng)作包括基于憑據(jù)提供者的運(yùn)行時(shí)標(biāo)識(shí)創(chuàng)建所述多個(gè)憑據(jù)提供者。
14.如權(quán)利要求11所述的方法,還包括: 使用所述處理器從所述多個(gè)憑據(jù)提供者的每個(gè)憑據(jù)提供者獲得指示每個(gè)憑據(jù)提供者的指定數(shù)量的憑據(jù)的數(shù)目;以及 使用所述處理器將來自所述多個(gè)憑據(jù)提供者的每個(gè)憑據(jù)提供者的所述數(shù)目相加以確定憑據(jù)的總數(shù)。
15.如權(quán)利要求14所述的方法,還包括: 使用所述處理器為登錄接口過程提供指派到所述映射列表中字段的唯一標(biāo)識(shí)符的數(shù)量;以及 使用所述處理器為所述登錄接口過程提供憑據(jù)的總數(shù)。
16.如權(quán)利要求11所述的方法,還包括使用所述處理器為登錄接口過程提供足以使所述登錄接口過程在顯示裝置上的單個(gè)窗口中顯示多個(gè)塊片的信息的指令。
17.如權(quán)利要求16所述的方法,還包括: 使用所述處理器接收來自所述登錄接口過程的對(duì)用于具有指定索引值的字段的字段描述符的請(qǐng)求;使用所述處理器識(shí)別所述映射列表中具有等于所述指定索引值的唯一標(biāo)識(shí)符的條目; 使用所述處理器,基于所述映射列表中的條目,獲得所述字段描述符;以及 使用所述處理器為所述登錄接口過程提供所述字段描述符。
18.如權(quán)利要求16所述的方法,還包括: 使用所述處理器接收來自所述登錄接口過程的更新具有字段標(biāo)識(shí)符的字段的請(qǐng)求; 使用所述處理器,基于所述請(qǐng)求識(shí)別所述多個(gè)憑據(jù)提供者之一; 使用所述處理器,基于所述映射列表中的條目,識(shí)別用于所述一個(gè)憑據(jù)提供者的字段描述符的憑據(jù)提供者特定標(biāo)識(shí)符;以及 使用所述處理器,向所述一個(gè)憑據(jù)提供者發(fā)送在所述憑據(jù)提供者特定標(biāo)識(shí)符識(shí)別的所述一個(gè)憑據(jù)提供者中更新字段的請(qǐng)求。
19.如權(quán)利要求11所述的方法,其中生成映射列表的動(dòng)作包括在存儲(chǔ)器中生成多個(gè)列表。
20.如權(quán)利要求11所述的方法,其中所述處理器包括多個(gè)可編程處理單元。
21.一種計(jì)算機(jī)系統(tǒng),包括: 顯示器; 存儲(chǔ)器,以通信方式耦合到所述顯示器;以及 可編程處理單元,以通信方式耦`合到所述存儲(chǔ)器并且配置成執(zhí)行其中存儲(chǔ)的計(jì)算機(jī)程序指令以便執(zhí)行如權(quán)利要求11所述的方法。
22.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)包括便攜式計(jì)算機(jī)系統(tǒng)。
23.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)還包括以通信方式耦合到所述存儲(chǔ)器和所述可編程處理單元的網(wǎng)絡(luò)接口。
【文檔編號(hào)】G06F17/00GK103858097SQ201280042344
【公開日】2014年6月11日 申請(qǐng)日期:2012年8月28日 優(yōu)先權(quán)日:2011年8月31日
【發(fā)明者】P.M.斯圖格斯 申請(qǐng)人:邁可菲公司