国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      管理非同時用戶界面模塊的增強型用戶界面管理器及方法

      文檔序號:6455707閱讀:207來源:國知局

      專利名稱::管理非同時用戶界面模塊的增強型用戶界面管理器及方法
      技術領域
      :本申請總體涉及用戶界面,具體涉及一種管理非同時用戶界(interface)面模塊的增強型(enhanced)用戶界面管理器和方法。
      背景技術
      :配置計算機工作站使該工作站可由多個不同用戶使用是一種十分常見的做法。為了在使用工作站時保持個性化設置和用戶間的隱私,這種工作站的操作系統(tǒng)通常提供一個注冊用戶界面。用戶通過與注冊用戶界面交互來完成認證過程,從而獲準訪問可執(zhí)行于工作站上的應用程序。這樣做的前提是可以認為工作站具有退出系統(tǒng)狀態(tài)和登錄系統(tǒng)狀態(tài)。此外,可以響應于直接用戶指或因一段非活動(inactivity)時間的緣故而使工作站鎖定。即,工作站可以呈現(xiàn)注冊用戶界面,并要求用戶重新完成認證過程,以恢復對工作站所執(zhí)行的各應用程序的訪問。可以認為鎖定系統(tǒng)狀態(tài)十分類似于退出系統(tǒng)狀態(tài)。已知存在這樣的計算機外圍設備不管工作站系統(tǒng)狀態(tài)如何均可為這種計算機外圍設備建立工作站至外圍連接。這樣的連接具有相應的認證協(xié)議,因此無需依賴于由工作站操作系統(tǒng)處理的認證協(xié)議。特別地,工作站至外圍連接的建立通常需要用戶輸入,并且工作站可能需要多個用戶界面模塊,其中,對特定用戶界面模塊的選擇依賴于系統(tǒng)狀態(tài)。
      發(fā)明內(nèi)容已經(jīng)發(fā)現(xiàn),在以下情況下會出現(xiàn)問題當工作站至外圍連接正在建立時,工作站執(zhí)行了從登錄系統(tǒng)狀態(tài)到鎖定系統(tǒng)狀態(tài)的轉換。如果當工作站具有登錄系統(tǒng)狀態(tài)時,用戶開始但未完成工作站至外圍連接的建立,那么一旦工作站具有鎖定系統(tǒng)狀態(tài),將阻止用戶建立工作站至外圍連接。在這種情形下,由工作站執(zhí)行以允許建立工作站至外圍連接的應用程序等待另外的用戶輸入,所述用戶輸入?yún)s被鎖定系統(tǒng)狀態(tài)所阻止。根據(jù)一示例實施例,在用戶界面模塊處提供了一種輔助用戶界面管理的方法。所述方法包括接收停止執(zhí)行的命令消息;將狀態(tài)信息消息發(fā)送至用戶界面管理器,所述狀態(tài)信息消息包括控制-狀態(tài)數(shù)據(jù)結構;以及停止執(zhí)行。在本申請的其他方面,提供了一種用于實現(xiàn)該方法的裝置,并且提供了一種用于使處理器適于實現(xiàn)該方法的計算機可讀介質。根據(jù)另一示例實施例,提供了一種管理計算裝置上的多個用戶界面的方法。所述方法包括從供應用戶界面模塊接收描述所述供應用戶界面模塊狀態(tài)的控制-數(shù)據(jù)結構;存儲所述控制-數(shù)據(jù)結構;從請求界面模塊接收用戶界面狀態(tài)請求;以及向所述請求用戶界面模塊發(fā)送所述控制-數(shù)據(jù)結構。在本申請的其他方面,提供了一種用于實現(xiàn)該方法的裝置,并且提供了一種用于使處理器適于實現(xiàn)該方法的計算機可讀介質。根據(jù)另一示例實施例,提供了一種管理用戶界面的方法。該方法包括從第一用戶界面模塊接收狀態(tài)信息消息;存儲所述狀態(tài)信息;從新運行的界面模塊接收對于狀態(tài)信息的請求;以及響應于所述接收所述請求,向新運行的界面模塊發(fā)送所述狀態(tài)信息。在本申請的其他方面,提供了一種用于實現(xiàn)該方法的計算裝置,并且提供了一種用于使處理器適于實現(xiàn)該方法的計算機可讀介質。下面參考附圖,附圖以示例的方式示出了本發(fā)明的實施例,附圖中圖1示出了適于實現(xiàn)本申請的方面的工作站;圖2示出了根據(jù)一實施例的、響應于系統(tǒng)狀態(tài)從當前系統(tǒng)狀態(tài)到新系統(tǒng)狀態(tài)的改變來管理用戶界面的方法的示例步驟;圖3示出了與圖2示例步驟的執(zhí)行有關的消息流;圖4示出了根據(jù)另一實施例的、對服務的多個用戶界面進行管理的方法的示例步驟;圖5示出了適于實現(xiàn)本申請的方面的另一工作站;圖6示出了根據(jù)一實施例的、輔助用戶界面管理的方法的示例步驟;圖7示出了根據(jù)另一實施例的、管理非同時用戶界面模塊的方法的示例步驟;以及圖8示出了與圖6和圖7方法的示例步驟的執(zhí)行有關的消息流。具體實施例方式在www.wikipedia.org中記載了,在計算技術中,"Winlogon"是MicrosoftWindows操作系統(tǒng)的組件,負責處理安全注意鍵(secureattentionkey),在注冊時加載用戶簡檔,以及可選地在屏幕保護程序運行時鎖定計算機(需要另一認證步驟)。用戶憑證的獲取以及驗證留待其他組件處理。Winlogon處理獨立于認證策略的界面功能。Winlogon為工作站創(chuàng)建桌面,實現(xiàn)超時操作,為圖形識別和認證(GINA)庫提供一組支持函數(shù),并負責為機器和用戶配置組策略(grouppolicy)。GINA庫是某些MicrosoftWindows操作系統(tǒng)的組件,提供安全認證和交互注冊服務。GINA庫是動態(tài)鏈接庫(DLL),在啟動機器時被加載于Winlogon進程環(huán)境下。GINA庫負責處理安全注意序列(典型的安全注意序列為Control-Alt-Delete),并在接收到該序列時同用戶交互。GINA庫(還可簡稱為"GINA")還負責在用戶首次登錄時為用戶啟動初始進程(如Windows夕卜殼(WindowsShell))。默認情況下,Winlogon被配置為使用缺省GINA。Winlogon可以被配置為使用另一GINA,從而提供非標準認證方法和/或提供與由缺省GINA提供的虛擬用戶界面不同的虛擬用戶界面。通常代表GINADLL的文件位于System32文件夾下,并且可以被替換成代表定制GINADLL的文件,所述定制GINADLL提供可選用戶識別和認證過程,如那些依賴于與生物統(tǒng)計外圍設備的通信的認證過程。示例非標準認證方法可以包括智能卡讀卡器,并且可以包括根據(jù)生物統(tǒng)計學來識別用戶。實現(xiàn)替換GINA的開發(fā)者使得可實現(xiàn)一組應用程序編程接口(API)調(diào)用,所述API調(diào)用涵蓋了諸如顯示"工作站鎖定"對話框、在各種用戶狀態(tài)下處理安全注意序列、對關于鎖定工作站是否是允許行為的詢問予以響應、支持在基于終端服務的連接上收集用戶憑證、以及同屏幕保護程序交互等功能。Winlogon組件單獨負責調(diào)用GINA庫中的這些API。Windows"服務"是在引導Windows操作系統(tǒng)時啟動的應用程序,并且只要Windows正在運行就在后臺運行。Windows提供了被稱為服務控制管理器(SCM)的界面,該界面管理服務的創(chuàng)建、刪除、啟動和停止。需要以這樣的方式來編寫要被注冊為服務的應用程序,使得該應用程序可以處理來自SCM的消息(啟動、停止、暫停等)。這樣一來,在一個或多個API調(diào)用中,就可以向SCM注冊服務的名稱和其他屬性,如對服務的描述。默認情況下,Windows服務作為與稱作"LocalSystem"的帳戶有關的虛擬用戶運行。因為LocalSystem不是真實用戶,所以當服務需要存儲用戶特定(user-specific)數(shù)據(jù)時,由于不存在與LocalSystem帳戶相關的用戶的主目錄(homedirectory),出現(xiàn)了一些挑戰(zhàn)。SCM維護所注冊的服務的數(shù)據(jù)庫,并且包括與應該如何啟動每個服務有關的信息。SCM還使系統(tǒng)管理員能夠為每個服務定制安全需求,從而控制用戶對服務的訪問。如果給定服務在LocalSystem帳戶環(huán)境下運行,并且具有稱為SERVICE—INTERACTIVE—PROCESS屬性的屬性,那么給定服務稱為交互服務。交互服務可以顯示用戶界面(GUI)并接收用戶輸入。已知在LocalSystem帳戶的環(huán)境下運行交互服務可能強加了某些風險,并且通常應當予以避免。已經(jīng)建議如果正運行于多用戶系統(tǒng)上的服務必須與用戶進行交互,服務應當通過單獨的GUI模塊與用戶進行交互,其中,單獨的GUI模塊運行于用戶帳戶環(huán)境下。還建議應該將單獨的GUI模塊設計為通過某種進程間通信方法(如命名管道(namedpipe))與服務進行通信。將這種單獨GUI模塊與服務的結合稱作客戶端/服務器實現(xiàn),并且用作在LocalSystem帳戶環(huán)境下運行交互服務的候選方案。當GUI模塊的線程必須向Windows服務發(fā)送消息時,線程可以在"線程圖表"上創(chuàng)建表項,其中,所述消息需要響應,所述線程圖表被實現(xiàn)為例如圖表或者列表??梢哉J為線程圖表中的各表項包括響應類型;以及對消息傳輸對象的引用。響應類型的示例包括對版本檢驗請求的響應、對同步設置請求的響應、以及對設置IT策略請求的響應等。消息傳輸對象可以包含指示是否已接收到響應的標記;線程所應該服務的事件;以及用于對在響應中接收到的數(shù)據(jù)加以保存的數(shù)據(jù)字段(datafield)。舉例而言,線程所應該服務的事件可以包括對前一請求的、未完成的(outstanding)響應。舉例而言,事件可以是句柄(handle)。在發(fā)送希望獲得其響應的消息前,發(fā)送線程首先創(chuàng)建消息傳輸對象。接著,發(fā)送線程將表項放入線程圖表。己知表項包括唯一響應類型的指示(即發(fā)送線程將等待的響應類型)以及對消息傳輸對象的引用。接著,發(fā)送線程發(fā)送消息。然后,發(fā)送線程等待事件,其中,所述事件是接收到具有唯一響應類型的響應消息。稱為接收機線程(receiverthread)的單個線程負責讀取傳入消息,判斷傳入消息是否是對發(fā)送線程之一所發(fā)送的消息的響應,如果是,就喚醒(wakeup)適當?shù)陌l(fā)送線程。在接收到消息前接收機線程一直空閑。當接收到傳入消息時,接收機線程讀取傳入消息的消息類型。接收機線程將傳入消息的消息類型與線程圖表中每個表項的響應類型進行比較。如果接收機線程發(fā)現(xiàn)具有與傳入消息的消息類型相匹配的響應類型的、線程圖表中的表項,接收機線程就將匹配表項的響應標記設置為"真",將傳入消息復制至響應數(shù)據(jù)字段,從線程圖表中刪除表項,并以信號告知"接收到響應消息"事件。發(fā)送線程可以在意識到"接收到響應消息"事件已經(jīng)發(fā)生時繼續(xù)運行。當繼續(xù)運行時,發(fā)送線程檢査消息傳輸對象中的響應標記。如果響應標記的值為"真",那么已經(jīng)接收到響應,并且可以希望消息傳輸對象的響應數(shù)據(jù)字段包含響應。如果響應標記的值為"假",那么尚未接收到響應。單獨的用戶界面模塊可以作為Windows服務的客戶存在。舉例而言,當工作站具有退出系統(tǒng)狀態(tài)或鎖定系統(tǒng)狀態(tài)時,第一用戶界面模塊可以用作給定的Windows服務的第一客戶,當工作站具有登錄系統(tǒng)狀態(tài)時,第二用戶界面模塊可以用作給定Windows服務的第二客戶。第一用戶界面模塊具有第一消息引擎,用于對第一用戶界面模塊中的線程與給定的Windows服務之間的消息進行處理。類似地,第二用戶界面模塊具有第二消息引擎,用于對第二用戶界面模塊中的線程與給定的Windows服務之間的消息進行處理??紤]給定的Windows服務使用已知的藍牙⑧通信協(xié)議與附近設備進行通信的情況。這樣的Windows服務可能需要用戶交互,以選擇所要連接的設備,并且還可能需要用戶輸入口令。另外考慮以下情況用戶正通過使用第二用戶界面模塊來建立藍牙連接(即登錄)時,工作站鎖定。按照慣例,當面對注冊用戶界面時,用戶將無法使用第一用戶界面模塊(即,被設計為在工作站具有鎖定系統(tǒng)狀態(tài)時使用的用戶界面模塊)建立藍牙連接,這是因為第二用戶界面模塊中的線程仍在等待用于發(fā)送至負責建立藍牙連接的Windows服務的用戶輸入。概括地說,為了管理用戶界面模塊,并將消息引導(direct)至正確的用戶界面模塊,可以實現(xiàn)用戶界面管理器模塊。響應于系統(tǒng)狀態(tài)的改變,用戶界面管理器模塊確定第一用戶界面模塊的狀態(tài),并向第二用戶界面模塊發(fā)送對第一用戶界面模塊的狀態(tài)的指示。此外,用戶界面管理器模塊將表項從與第一用戶界面模塊相關的線程圖表復制到與第二用戶界面模塊相關的線程圖表。圖1示出了工作站100,工作站100典型地包括處理器102、以及與處理器102通信的顯示器104、輸入設備106和存儲器108。處理器102可以執(zhí)行各種軟件實體和模塊以執(zhí)行本申請的示例方法。在圖1中,軟件實體和模塊被示為GINA110、Windows服務112、第一用戶界面模塊114、第二用戶界面模塊116、以及用戶界面管理器118。可以將軟件實體和模塊從磁盤、磁帶、芯片、或隨機存取存儲器加載到存儲器108上,所述磁盤、磁帶、芯片、或隨機存取存儲器含有從遠程源下載的文件。圖2示出了響應于系統(tǒng)狀態(tài)從當前系統(tǒng)狀態(tài)到新系統(tǒng)狀態(tài)的改變來管理用戶界面的方法的示例步驟。圖3示出了與執(zhí)行圖2的示例步驟有關的消息流。參考圖3,在初始狀態(tài)下,第一用戶界面模塊114與Windows服務112進行通信。具體而言,圖3示出了向用戶界面管理器118發(fā)送信息消息302的Windows服務112。特別地,在通常向Windows服務112注冊第--用戶界面模塊114的地方,代替地注冊用戶界面管理器118。用戶界面管理器118接收信息消息302,并根據(jù)當前系統(tǒng)狀態(tài)(即登錄)選擇第一用戶界面模塊114作為目的地。第一用戶界面114從用戶界面管理器118接收信息消息302,并產(chǎn)生請求消息304。第一用戶界面模塊114將請求消息304發(fā)送至用戶界面管理器118,而不是將請求消息304直接發(fā)送至Windows服務112。其中,請求消息304需要來自Windows服務112的響應,第一用戶界面模塊114創(chuàng)建消息傳輸對象,并將表項放入與第一用戶界面模塊114相關的線程圖表,其中所述表項包括對所述消息傳輸對象的引用。接著,用戶界面管理器118向Windows服務112轉發(fā)請求消息304。接著,系統(tǒng)狀態(tài)發(fā)生改變。示例系統(tǒng)狀態(tài)改變包括從退出到登錄;從登錄到退出;從登錄到鎖定;以及從鎖定到登錄。GINA庫110通常處理導致系統(tǒng)狀態(tài)改變的事件(例如Control-Alt-Delete等安全注意序列)。照這樣,GINA庫110處理向用戶界面管理器118發(fā)送指示系統(tǒng)狀態(tài)改變的消息306。響應于接收指示系統(tǒng)狀態(tài)改變的消息306,用戶界面管理器118向第一用戶界面模塊114發(fā)送狀態(tài)請求消息308(步驟202,圖2)。第一用戶界面模塊114通過產(chǎn)生包括第一用戶界面模塊114的狀態(tài)在內(nèi)的控制-狀態(tài)數(shù)據(jù)結構來形成狀態(tài)響應消息310。包含在控制-狀態(tài)數(shù)據(jù)結構中的信息可以包括對于顯示哪個對話框的指示;對于焦點位于對話框中哪個字段的指示;以及對于對話框全部字段的內(nèi)容的指示。接著,第一用戶界面模塊114將狀態(tài)響應消息310發(fā)送至用戶界面管理器118。當接收狀態(tài)響應消息310(步驟204)時,用戶界面器118形成狀態(tài)更新消息312,以包括在狀態(tài)響應消息310中接收到的控制-狀態(tài)數(shù)據(jù)結構。接著,用戶界面管理器118向第二用戶界面模塊116發(fā)送狀態(tài)更新消息312(步驟206)。此外,用戶界面管理器118將表項從與第一用戶界面模塊114相關的線程圖表復制到與第二用戶界面模塊116相關的線程圖表,使得與第二用戶界面312相關的線程圖表將包含等待對于請求消息304的響應的線程)(步驟208)。接著,Windows服務112向用戶界面管理器118發(fā)送響應消息314,其中,響應消息314是對請求消息304的響應。用戶界面管理器118接收響應消息314,并根據(jù)己改變的系統(tǒng)狀態(tài)來選擇第二用戶界面模塊116作為目的地。第二用戶界面模塊116的接收機線程接收來自用戶界面管理器118的響應消息314,并將響應消息314的消息類型與同第二用戶界面模塊116所關聯(lián)的線程圖表中的請求消息304相關的表項相匹配。接著,接收機線程產(chǎn)生將等待對請求消息304的響應的線程喚醒的事件。返回給定Windows服務為藍牙連接服務的情況,以及用戶正通過使用第二用戶界面模塊來建立藍牙連接的情形。舉例而言,用戶可能己經(jīng)使用第二用戶界面模塊的設備選擇對話框來選擇附近的、有藍牙功能的(bluetooth-enabled)設備。此外,舉例而言,用戶可能在工作站鎖定之前己在第二用戶界面模塊的口令輸入對話框的字母數(shù)字輸入欄輸入了四位口令的前兩位。響應于工作站的鎖定,用戶界面管理器向第二用戶界面模塊發(fā)送狀態(tài)請求,并接收狀態(tài)響應。狀態(tài)響應包括控制-狀態(tài)數(shù)據(jù)結構,所述控制-狀態(tài)數(shù)據(jù)結構指示口令輸入對話框開啟,已接收到兩位口令,以及兩位口令的值。在鎖定系統(tǒng)狀態(tài)下,用戶請求啟動用戶界面模塊。用戶界面管理器根據(jù)鎖定系統(tǒng)狀態(tài)來選擇和啟動第一用戶界面模塊。此外,用戶界面管理器向第一用戶界面模塊發(fā)送狀態(tài)更新消息。狀態(tài)更新消息包括控制-狀態(tài)數(shù)據(jù)結構,所述控制-狀態(tài)數(shù)據(jù)結構指示口令輸入對話框開啟,已在字母數(shù)字輸入欄中接收到兩位口令,以及兩位口令的值。在啟動時,第一用戶界面模塊向用戶呈現(xiàn)口令輸入對話框,口令輸入對話框在字母數(shù)字欄中顯示已接收到的兩位口令。按照慣例,對已經(jīng)接收到的口令位的指示是通過在字母數(shù)字欄中顯示星號("*")來實現(xiàn)的。然而,還可以使用其他符號,如句號(".")或著重號(",")。雖然將與第二用戶界面模塊相關的線程圖表復制到與第一用戶界面模塊相關的線程圖表(步驟208)提供了足夠的信息來使第一用戶界面模塊的線程能夠等待口令輸入的完成,然而,是在狀態(tài)更新消息312中接收到的控制-狀態(tài)數(shù)據(jù)結構中所包含的信息使第一用戶界面模塊能夠以鎖定時對話框所處的狀態(tài)來呈現(xiàn)口令輸入對話框。有利地,上面提出的解決方案使用戶能夠無縫地使用對話框界面在多種情況下與Windows服務交互以及為Windows服務提供輸入,所述多種情況包括有用戶登錄時;工作站鎖定時;以及無用戶登錄時。正如本領域技術人員顯而易見的那樣,被設計為在系統(tǒng)狀態(tài)為退出/鎖定時而使用的用戶界面模塊可集成于定制的GINA庫中。作為確定和傳輸用戶界面模塊狀態(tài)指示的可選方案,響應于從GINA接收到指示系統(tǒng)狀態(tài)改變的消息,用戶界面管理器可以簡單地安排將使用中的用戶界面模塊的當前活動線程取消。此后,在新系統(tǒng)狀態(tài)下.,用戶可以啟動與Windows服務的交互。響應地,用戶界面管理器選擇一個適當?shù)挠脩艚缑婺K,用戶重新輸入數(shù)據(jù)。圖4示出了對用于與同單個Windows服務一起使用的多個用戶界面進行管理的方法的典型步驟。起初,用戶界面管理器接收啟動Windows服務的用戶界面的請求(步驟402)。接著,用戶界面管理器確定系統(tǒng)狀態(tài)(步驟404)。如果用戶界面管理器確定系統(tǒng)狀態(tài)為"登錄",則用戶界面管理器選擇登錄用戶界面模塊,并啟動登錄用戶界面模塊(步驟406)。當執(zhí)行登錄用戶界面模塊時,用戶界面管理器可以確定已接收到系統(tǒng)狀態(tài)改變消息(步驟408)。如果用戶界面管理器確定已接收到系統(tǒng)狀態(tài)改變消息(步驟408),則用戶界面管理器安排取消登錄用戶界面模塊的當前活動線程(步驟410)。如果用戶界面管理器確定尚未接收到系統(tǒng)狀態(tài)改變消息(步驟408),則用戶界面管理器繼續(xù)監(jiān)控該這樣的接收。舉例而言,取消登錄用戶界面模塊的當前活動線程(步驟410)可以包括從與當前活動線程相關的線程圖表中刪除各表項,以及產(chǎn)生事件,所述事件命令每個當前活動線程終止??梢哉J為這樣的取消等效于這樣的用戶界面模塊對于用戶在由用戶界面模塊所呈現(xiàn)的對話框上選擇了"取消"按鈕而將做出的反應。結果是用戶界面模塊返回空閑狀態(tài)。有利地,一旦登錄用戶界面模塊返回了空閑狀態(tài),登錄用戶模塊就不再等待另外的用戶輸入,并且新用戶界面模塊可以不受限制地與Windows服務進行通信。在新系統(tǒng)狀態(tài)下,用戶界面管理器可以再次接收啟動Windows服務的用戶界面的請求(步驟402)。接著,用戶界面管理器確定系統(tǒng)狀態(tài)(步驟404)。如果用戶界面管理器確定系統(tǒng)狀態(tài)為"退出"或者"鎖定",用戶界面管理器就選擇退出/鎖定用戶界面模塊,并啟動退出/鎖定用戶界面模塊(步驟412)。當執(zhí)行退出/鎖定用戶界面模塊時,用戶界面管理器可以確定已接收到系統(tǒng)狀態(tài)改變消息(步驟408)。如果用戶界面管理器確定已接收到系統(tǒng)狀態(tài)改變消息(步驟408),用戶界面管理器就安排取消退出/鎖定用戶界面模塊的當前活動線程(步驟410)。如果用戶界面管理器確定尚未接收到系統(tǒng)狀態(tài)改變消息(步驟408),用戶界面管理器就繼續(xù)監(jiān)控這樣的接收。如圖4方法的示例步驟中所示,盡管僅存在兩個可供選則的用戶界面模塊,然而本領域技術人員將認識到,可以使用多個用戶界面模塊,每個系統(tǒng)狀態(tài)對應一個用戶界面模塊。這樣一來,根據(jù)系統(tǒng)狀態(tài)來選擇所要啟動的候選用戶界面模塊(步驟404)將比簡單地判斷工作站是否具有登錄系統(tǒng)狀態(tài)更為復雜。圖5示出了工作站500,如同圖1的工作站100中一樣,工作站500包括處理器502、以及與處理器502通信的顯示器504、輸入設備506、和存儲器508。處理器502可以執(zhí)行各種軟件實體和模塊以執(zhí)行本申請的示例方法。在圖5中,將軟件實體和模塊示為憑證提供商510、Windows服務512、第一用戶界面模塊514、第二用戶界面模塊516、和用戶界面管理器518??梢詮拇疟P、磁帶、芯片、或隨機存取存儲器將軟件實體和模塊加載至存儲器508,所述磁盤、磁帶、芯片、或隨機存取存儲器含有從遠程源下載的文件。圖5還包括與工作站500通信的智能卡讀卡器520。當在WindowsXPTM上在第一用戶界面模塊114(針對登錄狀態(tài))和第二用戶界面模塊116(針對退出或鎖定狀態(tài))之間傳輸狀態(tài)信息時,有能力假設第一用戶界面模塊114和第二用戶界面模塊116(與GINA110相關)總在運行,所述WindowsXPTM可以是例如由圖1工作站100中的處理器102執(zhí)行的操作系統(tǒng)。采用WindowsVISTA,則會帶來憑證提供商510(在Vista中,憑證提供商510取代了用于XP中的GINA110)不總在運行的復雜情況,所述WindowsVISTA頂可以是例如由圖5工作站500中的處理器502執(zhí)行的操作系統(tǒng)。作為替代,僅當顯示鎖定/退出屏幕時,才執(zhí)行憑證提供商510以及進而執(zhí)行與憑證提供商510相關的第二用戶界面模塊516;相應地,在用戶解鎖/登錄時停止執(zhí)行。這使得在Vista中傳輸對話框狀態(tài)信息比在XP中更為棘手,這是因為例如,由于第二用戶界面模塊516將在第一用戶界面模塊514開始執(zhí)行前停止執(zhí)行而使得無法在注冊時簡單地將狀態(tài)信息從與憑證提供商510相關的第二用戶界面模塊516傳輸至第一(登錄)用戶界面模塊514。使情況更加復雜的可能情況是存在正在等待來自于對話框的響應的線程(與Windows服務512相關),其中由第二用戶界面模塊516來維護所述對話框。如上所述,可以將線程圖表表項從與第二用戶界面模塊116相關的線程圖表移動至與第一用戶界面模塊114相關的線程圖表(步驟208,圖2)。然而,在Vista(圖5)的情況下,由于第二用戶界面模塊516和第一用戶界面模塊514不同時執(zhí)行,因此向其移動等待線程圖表表項的目的地不是立即可用的。當憑證提供商510停止執(zhí)行時,將正在等待來自第二用戶界面模塊516的響應的任何線程取消。當前問題的示例起始于以下情況當前沒有用戶登錄圖5的工作站500,憑證提供商510正在執(zhí)行,并且第一(登錄)用戶界面模塊514未在執(zhí)行的情況下。a)用戶啟動連接進程以將工作站500連接至智能卡讀卡器520,所述連接進程使用受第二用戶界面模塊516控制的對話框;b)部分地通過連接進程,用戶使用用戶名和相應的密碼登錄工作站500,使連接進程處于進行中;c)第二用戶界面模塊516停止執(zhí)行;d)用戶界面管理器518嘗試將連接進程對話框的狀態(tài)從第二用戶界面模塊516復制到第一用戶界面模塊514;以及e)由于第一用戶界面模塊514并未執(zhí)行,不存在傳輸狀態(tài)的目的地,因此取消連接進程。用戶可能優(yōu)選從放棄進程的進程點(pointintheprocess)繼續(xù)執(zhí)行連接進程。然而,在這種情況下,如果用戶希望完成連接進程,則用戶被迫重啟連接進程。當用戶在連接進程中途退出(在Vista和XP中)時,存在相似的問題。需要將狀態(tài)從第一用戶界面模塊514傳輸至第二用戶界面模塊516,然而第二用戶界面模塊516并未執(zhí)行。概括地說,第二用戶界面模塊516響應于當進程正在進行時接收到終止命令,在自終止前將狀態(tài)信息發(fā)送至用戶界面管理器518。用戶界面管理器518將狀態(tài)信息存儲在存儲器或"高速緩存"中。也就是說,用戶界面管理器518高速緩存狀態(tài)信息。此外,用戶界面管理器518可以將與第二用戶界面模塊516相關的線程圖表表項傳輸至用戶界面管理器518,以進行高速緩存。接著,當?shù)谝挥脩艚缑婺K514開始操作并聯(lián)系用戶界面管理器518時,用戶界面管理器518對已高速緩存的狀態(tài)信息予以響應,并將線程圖表表項從高速緩存?zhèn)鬏斨僚c第一用戶界面模塊514相關的線程圖表。用戶界面管理器518將最新得知的狀態(tài)信息保存在高速緩存中,并且無論何時需要狀態(tài)信息,第一用戶界面模塊514和第二用戶界面模塊516都可以在需要狀態(tài)信息時取回狀態(tài)信息。此外,為第一用戶界面模塊514和第二用戶界面模塊516都提供了在任意時刻對位于用戶界面管理器518的高速緩存加以更新的能力。目前,建議在用戶界面管理器518中維持線程圖表表項的高速緩存,直至可以將表項傳輸至與另一用戶界面模塊相關的線程圖表為止,而不是直接將表項從一線程圖表移動至另一線程圖表。這樣的傳輸可以同狀態(tài)信息至另一用戶界面模塊的傳輸聯(lián)合發(fā)生。圖6示出了當進程正在執(zhí)行時對終止執(zhí)行的命令予以響應的示例方法中的步驟。起初,第二用戶界面模塊516例如從剛剛允許使用計算機的憑證提供商接收命令消息802(參見圖8)(步驟602),所述命令消息802命令第二用戶界面模塊516停止執(zhí)行。響應于接收命令,第二用戶界面模塊516發(fā)送狀態(tài)消息804(步驟604),狀態(tài)消息804指示任何當前活動的用戶界面會話的狀態(tài)。這樣的消息804可以采取前述控制-狀態(tài)數(shù)據(jù)結構的形式。響應于該消息,用戶界面管理器518存儲或高速緩存與第二用戶界面模塊516相關的線程圖表中的各個表項。一旦已發(fā)送了該消息804,第二用戶界面模塊516就停止執(zhí)行(步驟606)。在圖7中示例方法中示出了用戶界面管理器518的視角。用戶界面管理器518接收第二用戶界面模塊516所發(fā)送的狀態(tài)信息消息804(步驟702),并存儲狀態(tài)信息(步驟704)。用戶界面管理器518還將與第二用戶界面模塊516相關的線程圖表表項移動至高速緩存(步驟708)。接著,響應于引起憑證提供商510和相關第二用戶界面模塊516終止的用戶登錄,第一用戶界面模塊514開始操作,并向用戶界面管理器界面管理器518接收請求消息808(步驟710),并并通過發(fā)送狀態(tài)響應消息810(步驟712)予以響應,所述狀態(tài)響應消息810包含早先從第二用戶界面模塊516接收到的、高速緩存的狀態(tài)信息。此外,用戶界面管理器518將線程圖表表項從高速緩存移動至與第一用戶界面模塊514相關的線程圖表(步驟714),所述線程圖表表項是早先從第二用戶界面模塊516高速緩存的線程圖表表項??紤]以前情形下本申請各方面的操作a)在啟動智能卡讀卡器520和工作站500間的連接進程后但未完成連接進程的情況下,用戶啟動注冊進程,使用用戶名和口令的結合來登錄圖5的工作站500;b)與憑證提供商510相關的第二用戶界面模塊516檢測到其正被終止,并向用戶界面管理器518發(fā)送狀態(tài)消息804(步驟604),狀態(tài)消息804包括連接進程的狀態(tài);c)用戶界面管理器518高速緩存連接進程的狀態(tài)(步驟704),并且還高速緩存線程圖表表項(步驟708);d)注冊進程完成,開始執(zhí)行第一用戶界面模塊514;e)第一用戶界面模塊514向用戶界面管理器518發(fā)送請求消息808,請求當前UI狀態(tài);f)用戶界面管理器518將高速緩存的線程圖表表項傳輸至與第一用戶界面模塊514相關的線程圖表,使線程等待來自適當UI模塊的響應;以及g)第一用戶界面模塊514根據(jù)高速緩存的狀態(tài)來顯示適當?shù)膶υ捒?。正如本領域技術人員顯而易見的那樣,可以存在許多用戶界面模塊,而不僅僅是兩個用戶界面模塊(第一用戶界面模塊514和第二用戶界面模塊516),。還存在兩類UI信息無狀態(tài)UI信息;以及線程相關UI信息。無狀態(tài)UI信息通常包含不具有等待其響應的線程在內(nèi)的任何UI信息;例如信息消息框。線程相關UI信息通常包含與正在等待響應的線程有關的任何UI信息、以及負責阻止線程的信號(semaphored任何用戶界面模塊都可以從用戶界面管理器518處的高速緩存中取回無狀態(tài)UI信息,并根據(jù)無狀態(tài)UI信息創(chuàng)建顯示。此外,任何用戶界面模塊都可能更新無狀態(tài)UI信息。只有一個用戶界面模塊(例如活動用戶界面模塊)能夠訪問從高速緩存中"查出(checkout)"的線程相關UI信息以及伴隨線程相關UI信息的線程,并且只有活動用戶界面模塊可以將線程相關UI信息重新登入回(checkback)高速緩存中。一旦登入(checkin),另一用戶界面模塊可以就"査出"線程相關UI信息。在某些情況下,在工作站上既不能安裝GINA庫也不能安裝憑證提供商。GINA和憑證提供商是這樣的組件在Windows安裝過程中這些組件的安裝是可選的。因此,與GINA或憑證提供商相關的用戶界面模塊可能永遠不會執(zhí)行??紤]在工作站的用戶遠離工作站時在該工作站上顯示消息(用戶界面對話框),使得用戶無法看到消息。這個消息可能十分重要;例如,該消息可能指示另一設備與用戶的智能卡讀卡器配成了對。預計用戶可能已事先建立了選項,根據(jù)該選項在拆除智能卡時使用戶登出(logout)工作站。用戶遠離工作站,工作站使用戶退出。由于既未安裝GINA也未安裝CP,因此不向退出屏幕傳輸智能卡應用程序UI。因此,用戶無法看到重要消息。如果本申請的各方面實現(xiàn)于工作站處,則情況可能按如下發(fā)展a)隨著用戶遠離工作站500,工作站500和與用戶相關的智能卡讀卡器間的連接由于超出范圍條件(out-of-rangecondition)的原因而終止,處理器502將與智能卡讀卡器的連接的丟失理解為讀卡器中智能卡的拆除,并且處理器啟動退出操作;b)第一用戶界面模塊514檢測退出操作的啟動,并在停止執(zhí)行前向用戶界面管理器518發(fā)送狀態(tài)消息和線程消息;c)用戶界面管理器518接收狀態(tài)消息(步驟702),將包含于狀態(tài)消息中的UI狀態(tài)高速緩存(步驟704),接收機線程消息(步驟706),并將所包含的、有關線程的信息高速緩存(步驟708),并且鎖定;d)用戶返回工作站500并且登錄;e)第一用戶界面模塊514重新開始執(zhí)行,并且第一用戶界面模塊514向用戶界面管理器518發(fā)送請求消息;f)當接收到對請求消息的響應時,第一用戶界面模塊514重新顯示在用戶退出工作站500之前顯示在顯示器上的用戶界面視圖,其中所述響應包括狀態(tài)信息。由于攻擊者無法從工作站鎖定屏幕釋放(dismiss)配對通知消息,因此提高了工作站安全性。在能夠與通知消息交互之前,用戶必須首先使用適當?shù)淖孕畔⑾蚬ぷ髡?00認證。還可以想到,用戶界面模塊管理器518可以在散列表(hashtable)中存儲狀態(tài)信息和線程圖表表項,從而高速緩存的狀態(tài)信息或線程圖表信息可以特定于工作站500的不同用戶。正如本領域技術人員顯而易見的那樣,雖然上述實施例圍繞著執(zhí)行Windows操作系統(tǒng)的工作站,但本公開的各方面可適用于輔助手持計算設備和其他移動通信設備的用戶界面管理。本申請的上述實施例僅僅作為示例。本領域技術人員可以在不背離由所附權利要求所限定的本發(fā)明的范圍的前提下,實現(xiàn)對特定實施例的改變、修改和變型。權利要求1.一種在用戶界面模塊處輔助用戶界面管理的方法,該方法包括接收停止執(zhí)行的命令消息;將狀態(tài)信息消息發(fā)送至用戶界面管理器,所述狀態(tài)信息消息包括控制-狀態(tài)數(shù)據(jù)結構;以及停止執(zhí)行。2.—種計算裝置,包括處理器,所述處理器適于執(zhí)行用戶界面模塊,以接收停止執(zhí)行的命令消息;將狀態(tài)信息消息發(fā)送至用戶界面管理器,所述狀態(tài)信息消息包括控制-狀態(tài)數(shù)據(jù)結構;以及停止執(zhí)行。3.—種計算機可讀介質,包含計算機可執(zhí)行的指令,在處理器執(zhí)行所述計算機可執(zhí)行的指令時,所述計算機可執(zhí)行的指令使所述處理器接收停止執(zhí)行的命令消息;將狀態(tài)信息消息發(fā)送至用戶界面管理器,所述狀態(tài)信息消息包括控制-狀態(tài)數(shù)據(jù)結構;以及停止執(zhí)行。4.一種管理計算裝置上的多個用戶界面的方法,該方法包括從供應用戶界面模塊接收描述所述供應用戶界面模塊狀態(tài)的控制-數(shù)據(jù)結構;存儲所述控制-數(shù)據(jù)結構;從請求界面模塊接收對于用戶界面狀態(tài)的請求;以及向所述請求用戶界面模塊發(fā)送所述控制-數(shù)據(jù)結構。5.—種管理用戶界面的方法,該方法包括從第一用戶界面模塊接收狀態(tài)信息消息;存儲所述狀態(tài)信息;從新運行的界面模塊接收對于所述狀態(tài)信息的請求;以及響應于所述接收所述請求,向所述新運行的界面模塊發(fā)送所述狀態(tài)信息。6.根據(jù)權利要求5所述的方法,還包括響應于所述接收所述狀態(tài)信息,將與所述第一用戶界面模塊相關的線程圖表表項移動至高速緩存。7.根據(jù)權利要求6所述的方法,還包括響應于所述接收所述狀態(tài)信息,將所述線程圖表表項從所述高速緩存移動至與所述新運行的用戶界面模塊相關的線程圖表。8.—種計算裝置,包括處理器,所述處理器適于執(zhí)行用戶界面管理器,所述用戶界面管理器用于從第一用戶界面模塊接收狀態(tài)信息消息;存儲所述狀態(tài)信息;從新運行的界面模塊接收對于所述狀態(tài)信息的請求;以及響應于所述接收所述請求,向所述新運行的界面模塊發(fā)送所述狀態(tài)信9.根據(jù)權利要求8所述的計算裝置,其中,所述用戶界面管理器還用于響應于所述接收所述狀態(tài)信息,將與所述第一用戶界面模塊相關的線程圖表表項移動至高速緩存。10.根據(jù)權利要求9所述的計算裝置,其中,所述用戶界面管理器還用于響應于所述接收所述狀態(tài)信息,將所述線程圖表表項從所述高速緩存移動至與所述新運行的用戶界面模塊相關的線程圖表。11.一種計算機可讀介質,包含計算機可執(zhí)行的指令,當處理器執(zhí)行所述計算機可執(zhí)行的指令時,所述計算機可執(zhí)行的指令使所述處理器.-從第一用戶界面模塊接收狀態(tài)信息消息;存儲所述狀態(tài)信息;從新運行的界面模塊接收對于所述狀態(tài)信息的請求;以及響應于所述接收所述請求,向所述新運行的界面模塊發(fā)送所述狀態(tài)信息。12.根據(jù)權利要求11所述的計算機可讀介質,其中,所述計算機可執(zhí)行的指令還使所述處理器響應于所述接收所述狀態(tài)信息,將與所述第一用戶界面模塊相關的線程圖表表項移動至高速緩存。13.根據(jù)權利要求12所述的計算機可讀介質,其中,所述計算機可執(zhí)行指令還使所述處理器響應于所述接收所述狀態(tài)信息,將所述線程圖表表項從所述高速緩存移動至與所述新運行的用戶界面模塊相關的線程圖表。14.一種安全系統(tǒng),包括智能卡讀卡器;計算裝置,具有處理器,所述處理器適于執(zhí)行用戶界面模塊,以輔助形成所述智能卡讀卡器與所述計算裝置之間連接,所述用戶界面模塊用于接收停止執(zhí)行的命令消息;將狀態(tài)信息消息發(fā)送至用戶界面管理器,所述狀態(tài)信息消息包括控制-狀態(tài)數(shù)據(jù)結構;以及停止執(zhí)行。15.—種安全系統(tǒng),包括智能卡讀卡器;計算裝置,具有處理器,所述處理器適于執(zhí)行用戶界面管理器,以輔助形成所述智能卡讀卡器與所述計算裝置之間的連接,所述用戶界面管理器用于從供應用戶界面模塊接收描述所述供應用戶界面模塊狀態(tài)的控制-數(shù)據(jù)結構;存儲所述控制-數(shù)據(jù)結構;從請求界面模塊接收對于用戶界面狀態(tài)的請求;以及向所述請求用戶界面模塊發(fā)送所述控制-數(shù)據(jù)結構。16.—種安全系統(tǒng),包括智能卡讀卡器;計算裝置,具有處理器,所述處理器適于執(zhí)行用戶界面管理器,以輔助形成所述智能卡讀卡器與所述計算裝置之間的連接,所述用戶界面管理器用于從第一用戶界面模塊接收狀態(tài)信息消息;存儲所述狀態(tài)信息;從新運行的界面模塊接收對于所述狀態(tài)信息的請求;以及響應于所述接收所述請求,向所述新運行的界面模塊發(fā)送所述狀態(tài){口肩、o全文摘要一種用戶界面管理器,用于在用戶界面模塊停止執(zhí)行前將用戶界面模塊提供給該用戶界面管理器的狀態(tài)信息和線程信息高速緩存。當新用戶界面模塊開始執(zhí)行,或舊用戶界面模塊重新開始執(zhí)行時,用戶界面模塊可以向用戶界面管理器請求高速緩存的狀態(tài)信息和線程信息。文檔編號G06F9/44GK101542435SQ200780030573公開日2009年9月23日申請日期2007年8月17日優(yōu)先權日2006年8月17日發(fā)明者尼爾·亞當斯,拉維·辛格,理查德·保羅·西布利申請人:捷訊研究有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1