專利名稱:計算設(shè)備的外圍設(shè)備的控制的分配的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算設(shè)備的外圍設(shè)備,尤其涉及對外圍設(shè)備的控制分配。
背景技術(shù):
計算設(shè)備,包括個人計算機,通常適用于一次由一個用戶來操作。這一計算設(shè)備被配置成允許用戶與連接到該計算機設(shè)備的所有外圍設(shè)備,包括像顯示器、鍵盤和鼠標這樣的用戶接口外圍設(shè)備進行交互。當計算設(shè)備首次啟動并檢測到連接的外圍設(shè)備時,或者當一外圍設(shè)備新附連到計算設(shè)備時,該計算設(shè)備被配置成以相同的方式來管理這些外圍設(shè)備中的每一個。計算設(shè)備可向該計算設(shè)備的所有用戶或向當前正在操作該計算設(shè)備的用戶提供對每一外圍設(shè)備的訪問。在某些情況下,計算設(shè)備一次可由一個以上用戶來操作。在某些這樣的情況下,將個別外圍設(shè)備的所有權(quán)或?qū)€別外圍設(shè)備的訪問分配給特定用戶可能是合乎需要的??梢赃@樣做來使得用戶不會同時嘗試訪問一外圍設(shè)備,以便保護由每一用戶存儲在外圍設(shè)備上的數(shù)據(jù)的私密性并確保每一用戶能夠用一組完整的用戶接口外圍設(shè)備來與該計算設(shè)備交互(例如,使得每一用戶具有顯示器、鍵盤和鼠標)。因為計算設(shè)備沒有不同地管理外圍設(shè)備并向不同用戶分配外圍設(shè)備的功能,因此在這些情況下,用戶或管理員將手動配置計算設(shè)備來向每一用戶分配外圍設(shè)備。為了分配外圍設(shè)備,用戶或管理員將檢查該組可用外圍設(shè)備并選擇要分配給每一用戶的外圍設(shè)備,然后重新配置該計算設(shè)備來標識所選外圍設(shè)備能僅被所標識的用戶來訪問和使用。
發(fā)明內(nèi)容
用于將連接到計算設(shè)備的外圍設(shè)備分配給不同用戶的常規(guī)技術(shù)限于根據(jù)來自用戶或管理員的直接輸入來手動地執(zhí)行這種分配。這一過程可能是耗時且困難的。另外,這一過程需要外圍設(shè)備是如何由計算設(shè)備組織并管理的知識,以使得關(guān)于外圍設(shè)備的信息可在設(shè)備上定位且外圍設(shè)備可被分配。此處描述的是用于實現(xiàn)計算設(shè)備對外圍設(shè)備的控制的軟件輔助分配(例如,分配外圍設(shè)備的所有權(quán)或分配對外圍設(shè)備的訪問)。根據(jù)此處所描述的技術(shù),對外圍設(shè)備的控制的分配通過來自軟件工具的輸入來輔助,該軟件工具向外圍設(shè)備管理工具指示關(guān)于外圍設(shè)備的分配。軟件工具可用不同方式來指示外圍設(shè)備管理工具。在某些情況下,軟件工具可指示外圍設(shè)備管理工具如何以一種特定方式分配對外圍設(shè)備的控制,而在其他情況下,軟件工具可指示外圍設(shè)備管理工具如何分配對一組外圍設(shè)備的控制。在其他情況下,軟件工
4具可以不向外圍設(shè)備管理工具指示分配外圍設(shè)備的控制的確切方式,而是可標識對其的控制應(yīng)作為一組來分配的一組或多組外圍設(shè)備。在其他情況下,軟件工具可指示外圍設(shè)備管理工具以不同方式,如向不同用戶會話分配對外圍設(shè)備的各部分(例如,基于時間的部分或物理部分)的控制。在一個示例性實現(xiàn)中,包括多個不同外圍設(shè)備的復合外圍設(shè)備的制造商或廠商可提供包括外圍設(shè)備分配功能的驅(qū)動程序。當該復合外圍設(shè)備被連接到計算設(shè)備時,該計算設(shè)備的外圍設(shè)備管理工具可查詢可用驅(qū)動程序來獲知應(yīng)如何分配對這些外圍設(shè)備的控制。 當外圍設(shè)備管理工具查詢匹配該復合外圍設(shè)備的驅(qū)動程序時,該驅(qū)動程序可指示外圍設(shè)備管理工具,對該復合外圍設(shè)備的每一外圍設(shè)備的控制應(yīng)作為一組來一起分配。該驅(qū)動程序可另外指示該外圍設(shè)備管理工具將該組外圍設(shè)備的所有權(quán)或?qū)υ摻M外圍設(shè)備的訪問分配給特定用戶或用戶會話。以上概述是對由所附權(quán)利要求定義的本發(fā)明的非限定性的概述。
附圖不旨在按比例繪制。在附圖中,各個附圖中示出的每一完全相同或近乎完全相同的組件由同樣的標號來表示。出于簡明的目的,不是每一個組件在每張附圖中均被標號。在附圖中圖1是可在某些實施例中執(zhí)行來基于從軟件工具接收到的指令來分配對外圍設(shè)備的控制的一個過程的流程圖;圖2是可在某些實施例中執(zhí)行來向軟件工具查詢關(guān)于分配對外圍設(shè)備的控制的一個過程的流程圖;圖3是可在某些實施例中執(zhí)行來提供關(guān)于分配對外圍設(shè)備的控制的指令的一個過程的流程圖;圖4A、4B和4C是可在某些實施例中執(zhí)行的用于分配控制的示例性技術(shù)的流程圖;圖5是可在某些實施例中執(zhí)行的用于重新分配對外圍設(shè)備的控制的一個過程的流程圖;圖6是某些實施例可在其中操作的示例性計算機系統(tǒng)的框圖;圖7是示出用于將外圍設(shè)備連接到計算設(shè)備的可能方式的示例性計算機系統(tǒng)的框圖;圖8是某些實施例中可由計算設(shè)備創(chuàng)建并管理的外圍設(shè)備的示例性分層結(jié)構(gòu)的圖示;圖9是可在某些實施例中執(zhí)行的用于分配對復合外圍設(shè)備的控制的一個示例性技術(shù)的流程圖;圖10是分配對顯示外圍設(shè)備的訪問的示例性方式的框圖;圖IlA是用于至少部分地基于用戶輸入來分配對輸出外圍設(shè)備的控制的一個示例性過程的流程圖;圖IlB是可被提供給用戶以便至少部分地基于用戶輸入來分配對輸出外圍設(shè)備的控制的示例性提示的圖示;以及
圖12是某些實施例可與其一起操作的一個示例性計算設(shè)備的框圖。
具體實施例方式當外圍設(shè)備連接到計算設(shè)備時,使用常規(guī)的技術(shù),可以使該外圍設(shè)備對該計算設(shè)備的所有用戶可用,而該外圍設(shè)備的所有權(quán)或?qū)υ撏鈬O(shè)備的訪問不被分配到任何特定用戶或用戶會話。這一慣例會在計算設(shè)備中引入問題。例如,會引發(fā)安全問題,如當外圍設(shè)備是存儲敏感信息的存儲設(shè)備的時候,其中該敏感信息應(yīng)只由擁有該存儲設(shè)備的用戶來訪問。當外圍設(shè)備不被分配給特定用戶時,其他用戶可能訪問該外圍設(shè)備,這可損害該敏感信息。作為另一示例,可引發(fā)訪問問題,如(再次使用上述示例,當外圍設(shè)備是存儲設(shè)備的時候)用戶假定用戶對該存儲設(shè)備具有獨占訪問且基于該假設(shè)來執(zhí)行某種工作,而稍后發(fā)現(xiàn)另一用戶以使該用戶的工作變復雜的方式訪問并操縱了存儲設(shè)備上的數(shù)據(jù)。將對外圍設(shè)備的控制分配給特定用戶或用戶會話可補救這些問題中的某一些。然而,使用常規(guī)技術(shù),為將外圍設(shè)備分配給用戶或用戶會話,用戶或管理員將必須通過提供顯式輸入在操作系統(tǒng)中手動作出低級改變。這一過程不僅需要特定操作系統(tǒng)如何以及在何處存儲關(guān)于外圍設(shè)備的信息的知識,而且還需要關(guān)于用戶會話以及如何將對外圍設(shè)備的控制分配給用戶會話的知識。即使是在用戶具有所需知識的情況下,這一手動過程也是強度很大的。此外,復合外圍設(shè)備使得選擇并分配對外圍設(shè)備的控制的過程變得復雜。復合外圍設(shè)備包括可一起使用的多個外圍設(shè)備,包括物理上封裝在一起的設(shè)備。計算設(shè)備常規(guī)上單獨管理復合外圍設(shè)備的每一外圍設(shè)備,而不標識這些外圍設(shè)備是相關(guān)的。試圖手動分配對外圍設(shè)備的控制的用戶或管理員因此在尋找并標識要分配給特定用戶的所有外圍設(shè)備, 包括復合外圍設(shè)備的所有外圍設(shè)備時有困難。此處描述的是用于使得外圍設(shè)備能被分配給用戶或用戶會話而不依賴于顯式用戶輸入的技術(shù)。根據(jù)這些技術(shù)中的某一些,對外圍設(shè)備的分配通過來自軟件工具的輸入來輔助,該軟件工具向外圍設(shè)備管理工具指示關(guān)于外圍設(shè)備的控制的分配。軟件工具可用不同方式來指示外圍設(shè)備管理工具。在某些情況下,軟件工具可指示外圍設(shè)備管理工具如何以一種特定方式分配對外圍設(shè)備的控制,而在其他情況下,軟件工具可指示外圍設(shè)備管理工具如何分配對一組外圍設(shè)備的控制。在其他情況下,軟件工具可以不向外圍設(shè)備管理工具指示關(guān)于要向其分配對外圍設(shè)備的控制的一方,而是可標識對其的控制可作為一組來一起分配的一組或多組外圍設(shè)備。軟件工具可用任何合適的方式來指示外圍設(shè)備管理工具以便以任何合適的方式來分配外圍設(shè)備,各實施例不限于與任何特定類型的指令或與任何特定類型的外圍設(shè)備管理一起操作。如此處所使用的,外圍設(shè)備是可經(jīng)由任何合適的有線和/或無線通信總線附連到計算設(shè)備的電子設(shè)備。外圍設(shè)備可以在物理上與計算設(shè)備分開,并且裝入與計算設(shè)備分開的外殼中,或者可以在物理上附連到計算設(shè)備并裝入相同的外殼中。在各實施例可與其一起操作的某些有線和/或無線通信總線中,外圍設(shè)備可以按分層結(jié)構(gòu)來耦合到計算設(shè)備。 該分層結(jié)構(gòu)可允許經(jīng)由集線器來連接外圍設(shè)備,該集線器允許多個外圍設(shè)備經(jīng)由單個點連接到計算設(shè)備。多個集線器可被聯(lián)接在一起來形成分層結(jié)構(gòu)。在某些情況下,集線器可被合并到外圍設(shè)備中而非與外圍設(shè)備分離。例如,鍵盤可被連接到計算設(shè)備,并且可在鍵盤的外殼中包括允許另一設(shè)備連接到該鍵盤的端口。可在各實施例中使用的總線的示例包括USB 1. 1/2. 0/3. 0、PS/2、藍牙、紅外線以及火線,但其他示例是可能的。復合外圍設(shè)備是以某種方式聯(lián)接的一組兩個或更多外圍設(shè)備。這些外圍設(shè)備可在物理上聯(lián)接,如在外圍設(shè)備被裝入同一外殼中的情況下。這些外圍設(shè)備也可以在功能上聯(lián)接,如在外圍設(shè)備不在物理上聯(lián)接但適用于一起使用的情況下。復合外圍設(shè)備可以由期望外圍設(shè)備被聯(lián)接的制造商或廠商來標識,或者可由任何其他合適的一方(例如,用戶、管理員、第三方軟件廠商等)來標識。如以下所討論的,在各實施例中,軟件工具向外圍設(shè)備管理工具指示關(guān)于將對外圍設(shè)備的控制分配給用戶或用戶會話。各實施例不限于與任何特定類型的軟件工具一起操作。在某些實施例中,軟件工具可以是由外圍設(shè)備的制造商或廠商創(chuàng)建的軟件,如由制造商或廠商提供的驅(qū)動程序或安裝程序。在其他實施例中,軟件工具可以由外圍設(shè)備要連接到其上的計算設(shè)備(或安裝在該計算設(shè)備上的軟件)的制造商或廠商來提供。在某些這樣的實施例中,軟件工具可以是計算設(shè)備的系統(tǒng)軟件,包括作為計算設(shè)備的操作系統(tǒng)的一部分。 在還有一些其他實施例中,軟件工具可以是由與外圍設(shè)備或計算設(shè)備無關(guān)的第三方提供的軟件。在某些這樣的實施例中,軟件工具可以是安裝在計算設(shè)備上的應(yīng)用軟件。計算設(shè)備的用戶可以是在計算設(shè)備上創(chuàng)建的且個人用來訪問并操作計算設(shè)備的賬戶或簡檔。當用戶登錄到計算設(shè)備或正在操作計算設(shè)備時,可為該用戶創(chuàng)建在該用戶登錄或操作該計算設(shè)備時持續(xù)的用戶會話。用戶會話可為用戶提供操作系統(tǒng)環(huán)境的唯一實例,包括各種系統(tǒng)資源的唯一實例。用戶在用戶會話內(nèi)執(zhí)行的處理可從其他用戶和其他用戶會話中劃分,但用戶能夠在會話之間通信。在各實施例中,對外圍設(shè)備的控制可被分配給一個或多個用戶和/或一個或多個用戶會話。為便于描述,在以下描述的各示例性實施例中,外圍設(shè)備可被描述為被分配給一個用戶。然而,各實施例不限于將外圍設(shè)備分配給單個用戶或多個用戶。對外圍設(shè)備的控制可用任何合適的方式來分配。分配方式可以在各實施例中基于計算設(shè)備如何管理外圍設(shè)備和訪問權(quán)限來變化。對外圍設(shè)備的控制的分配可以包括分配外圍設(shè)備的所有權(quán)。在某些實施例中,分配外圍設(shè)備的所有權(quán)可以包括將所有訪問權(quán)和/或管理權(quán)限分配給用戶(或用戶會話)。對外圍設(shè)備的控制的分配可另選地包括分配所有或部分訪問權(quán)限。訪問權(quán)限可包括以指定方式使用外圍設(shè)備的權(quán)限,如讀訪問或?qū)懺L問,而管理權(quán)限可包括更改外圍設(shè)備的權(quán)限,如更改外圍設(shè)備的軟件或設(shè)置或斷開外圍設(shè)備。各實施例不限于進行任何特定類型的控制分配。另外,分配對外圍設(shè)備的控制可包括分配對外圍設(shè)備的各部分的控制,如對外圍設(shè)備的一個基于時間的或物理部分的控制以一種方式分配,而對外圍設(shè)備的另一基于時間的或物理部分的控制以另一種方式分配。例如,顯示屏幕的不同部分可被分配來供不同用戶會話使用。在某些實施例中,外圍設(shè)備可另外使用規(guī)則來分配。當外圍設(shè)備被連接時,可評估規(guī)則來確定如何管理該外圍設(shè)備。在使用此類規(guī)則的某些實施例中,僅在軟件工具指示了如何分配外圍設(shè)備的一部分或全部之后才可應(yīng)用規(guī)則來確定如何管理外圍設(shè)備。應(yīng)用規(guī)則的某些實施例可使用如2010年2月12日提交的題為“Managing USB devices based on logical groups (基于邏輯組來管理USB設(shè)備),,的美國臨時專利申請第61/304,077 號(“077申請”)以及_提交的且要求,077申請的優(yōu)先權(quán)的題為“Rule-basedassignment of peripherals of a computing device (計算設(shè)備的夕卜圍設(shè)備的基于規(guī)貝Ij的
分配)”的非臨時美國專利申請第_號(代理案卷號M1103. 70848US01) (“_
申請”)中描述的規(guī)則,這些申請通過整體引用且至少關(guān)于其對外圍設(shè)備的控制的基于規(guī)則
的分配的討論而結(jié)合于此。_申請至少在其內(nèi)容在’ 077申請中描述的意義上結(jié)合于此。以下描述的是使軟件工具能向外圍設(shè)備管理工具指示關(guān)于對外圍設(shè)備的控制的分配的系統(tǒng)的各示例性實施例。以下描述的各實施例僅是某些實施例可用以操作的方式的說明。各實施例不限于根據(jù)以下描述的示例性技術(shù)來操作。此外,在以下描述的某些實施例中,示例性外圍設(shè)備被描述為復合外圍設(shè)備,該復合外圍設(shè)備是包括用戶可將鍵盤和鼠標附連到其上來形成終端組的集線器的顯示設(shè)備。然而,各實施例不限于與任何特定類型的外圍設(shè)備一起操作或與復合外圍設(shè)備一起操作。各實施例可以與任何適當類型的外圍設(shè)備一起操作。圖1示出了可在某些實施例中用于將外圍設(shè)備分配給計算設(shè)備的用戶會話的一個示例性過程。過程100可以在任何適當?shù)臅r間進行。作為一個示例,過程100可以在計算設(shè)備啟動且確定哪些外圍設(shè)備連接到計算設(shè)備且要被管理時進行。另外地或另選地,過程100可以在外圍設(shè)備被首次連接到計算設(shè)備時進行。過程100在框102開始,在那里外圍設(shè)備管理工具標識對其的控制未被分配的外圍設(shè)備。外圍設(shè)備管理工具可用任何合適的方式來標識外圍設(shè)備,包括通過主動或被動地標識外圍設(shè)備。在某些實施例中,外圍設(shè)備可以在外圍設(shè)備管理工具從計算設(shè)備的另一組件接收到信號時被動地標識。例如,操作系統(tǒng)可進行用于外圍設(shè)備的初始化過程,在這期間可加載外圍設(shè)備的驅(qū)動程序,可分配資源,并且可采取任何其他合適的初始化步驟。在執(zhí)行這一初始化過程的某些實施例中,在初始化過程期間,操作系統(tǒng)的一個組件可向外圍設(shè)備管理工具提供正對外圍設(shè)備進行該初始化過程的指示。外圍設(shè)備管理工具然后可基于該指示來標識對外圍設(shè)備的控制尚未被分配。外圍設(shè)備管理工具可以僅基于該指示或基于該指示和/或任何其他信息(例如,指示其控制已被分配的外圍設(shè)備的外圍設(shè)備管理工具的記錄)來標識控制尚未被分配。在框102中標識了外圍設(shè)備之后,外圍設(shè)備管理工具在框104接收關(guān)于對外圍設(shè)備的控制的分配的指令。該指令可經(jīng)由任何合適的消息傳送協(xié)議或信息共享技術(shù)來接收, 信息共享技術(shù)可以在計算設(shè)備上用于在該計算設(shè)備上執(zhí)行的進程之間共享信息。例如,指令可經(jīng)由基于操作系統(tǒng)的協(xié)議,如微軟 的Windows 操作系統(tǒng)的消息傳送協(xié)議來接收,或可經(jīng)由共享存儲器位置中的存儲來接收。分配對外圍設(shè)備的控制的指令可以從計算設(shè)備上的外圍設(shè)備所連接到的任何合適的軟件工具接收,包括從與外圍設(shè)備相關(guān)的驅(qū)動程序或從在計算設(shè)備上執(zhí)行的軟件應(yīng)用程序接收。該指令可包括對外圍設(shè)備管理工具關(guān)于如何分配對外圍設(shè)備的控制的任何合適的指示,其某些示例在以下結(jié)合圖4A-4C來更詳細描述。在某些情況下,在框104所接收的指令可包括諸如通過將外圍設(shè)備的所有權(quán)分配給一個特定用戶會話和/或?qū)ν鈬O(shè)備的訪問權(quán)限分配給同一和/或另一特定用戶會話,來將對外圍設(shè)備的特定類型的控制分配給一個或多個特定用戶會話的指示。在某些情況下,在框104所接收的指令可包括分配特定類型的控制而不標識要向其分配控制的特定用戶會話的指示。這可以是例如指令標識對外圍設(shè)備的控制(例如,外圍設(shè)備的所有權(quán))應(yīng)被分配給唯一用戶會話,使得同一類型的外圍設(shè)備被分配給不同用戶會話(例如,每一鍵盤被分配給唯一的用戶會話)的情況。在這一情況下所接收的指令可標識外圍設(shè)備應(yīng)被分配給唯一用戶會話而不指示該控制要被分配到哪一用戶會話。在其他情況下,在框104所接收的指令可包括將對兩個或更多外圍設(shè)備的控制作為一組來分配的指示,如在框102中所標識的外圍設(shè)備是復合外圍設(shè)備的成員且該指令指示對該復合外圍設(shè)備的所有外圍設(shè)備的控制應(yīng)被一起分配。在某些情況下,該指令可同時包括分配特定類型的控制的指示以及將對外圍設(shè)備的控制作為一組來分配的指示兩者。各實施例不限于在指令中接收任何特定類型的指示。指令可在框104以任何合適的方式來接收。在某些實施例中,該指令可在框104 響應(yīng)于外圍設(shè)備管理工具發(fā)送給提供該指令的軟件工具的查詢來接收。在其他實施例中, 指令可在框104中在沒有外圍設(shè)備管理請求信息的情況下接收??山邮罩噶畹姆绞降氖纠谝韵赂敿氂懻?。在框106,在外圍設(shè)備管理工具處接收到指令之后,外圍設(shè)備管理工具根據(jù)該指令來分配對外圍設(shè)備的控制。在框106分配控制的方式可取決于計算設(shè)備如何管理外圍設(shè)備并取決于指令如何指示控制的分配來變化。在框106分配控制可包括更新操作系統(tǒng)所維護的關(guān)于用戶、用戶會話和/或外圍設(shè)備的記錄,如在記錄中標識對一個或多個外圍設(shè)備的控制已被分配以及控制以什么方式分配(例如,控制分配到哪一用戶會話)。一旦在框106分配了控制,過程100結(jié)束。然后可根據(jù)控制的分配來使用外圍設(shè)備。例如,操作系統(tǒng)可允許第一用戶操作用戶會話,其中對外圍設(shè)備的至少某種控制被分配給該用戶會話以便操作該外圍設(shè)備或與該外圍設(shè)備交互,并且操作系統(tǒng)可阻止第二用戶操作不同的用戶會話,其中對該外圍設(shè)備的控制未被分配給該不同的用戶會話,從而無法以任何方式來與該外圍設(shè)備交互。作為另一示例,操作系統(tǒng)可允許第一用戶以已作為控制分配的一部分被給予第一用戶的對外圍設(shè)備的訪問權(quán)限所允許的方式來與外圍設(shè)備交互,并且可阻止第一用戶以該訪問權(quán)限所不允許的第二方式來與外圍設(shè)備交互。過程100在上文中被描述為對一個外圍設(shè)備進行。過程100可以對連接到計算設(shè)備的多個外圍設(shè)備重復。在某些情況下,過程100可對連接到計算設(shè)備的每一外圍設(shè)備進行,使得對所有外圍設(shè)備的控制根據(jù)從用于外圍設(shè)備的軟件工具接收到的指令來分配。然而,在其他情況下,對至少某些外圍設(shè)備的控制可使用不同的過程來分配,包括根據(jù)預先建立的關(guān)于對外圍設(shè)備的控制的分配的規(guī)則和策略來分配。在某些這樣的情況下,對其沒有接收到指令的外圍設(shè)備的控制的分配可以使用這些規(guī)則和策略來進行。對外圍設(shè)備的控制的基于規(guī)則的分配可用任何合適的方式來進行,包括根據(jù)在以上引用的’077申請以及以上引用的_申請(該申請具有代理案卷號M1103. 70848US01)中描述的技術(shù)來進行。規(guī)則和策略也可用于基于從軟件工具接收到的指令來分配對外圍設(shè)備的控制。在圖1的過程100中,控制根據(jù)所接收的指令來分配。然而,在其他過程中,可首先評估指令來確定以指令所指示的方式來分配控制是否是規(guī)則或策略所準許的。例如,如果指令指示以將導致特定用戶會話被分配到對兩個鍵盤(或策略可標識應(yīng)對每一用戶會話是唯一的任何其他類型的外圍設(shè)備)的控制的方式來分配對外圍設(shè)備的控制,則對外圍設(shè)備的控制不可按該方式分配,或者可提示用戶/管理員確認所指示的分配是正確的。如上所討論的,關(guān)于外圍設(shè)備的分配的指令可以用任何合適的方式來接收,包括
9作為對關(guān)于指令是否可用的查詢的響應(yīng)來接收。圖2和3示出了可在某些實施例中用于查詢軟件工具來確定指令是否可用于分配對外圍設(shè)備的控制的示例性過程。各實施例不限于執(zhí)行查詢來確定指令是否可用,且執(zhí)行查詢的實施例不限于實現(xiàn)圖2和3的示例性過程。其他過程是可能的。過程200在框202開始,在那里將至少一個軟件工具作為關(guān)于外圍設(shè)備的分配的指令的潛在源來向外圍設(shè)備管理工具注冊???02的注冊可用任何合適的方式來進行。例如,關(guān)于軟件工具的信息可被存儲在外圍設(shè)備管理工具可訪問的記錄中。該信息可標識軟件工具和/或外圍設(shè)備管理工具與軟件工具就控制的分配進行通信的方式。在某些實施例中,該信息還可標識軟件工具能夠為其提供指令的特定外圍設(shè)備或外圍設(shè)備類型???02的注冊可用任何合適的方式來進行。在某些實施例中,當能夠提供指令的軟件工具被安裝在計算設(shè)備上時(例如,當用于外圍設(shè)備的驅(qū)動程序被安裝在計算設(shè)備上時),操作系統(tǒng)的組件可以在外圍設(shè)備管理工具可訪問的記錄中存儲在注冊期間存儲的關(guān)于軟件工具的信息。在這一注冊過程中,軟件工具可能無法在該注冊期間與外圍設(shè)備管理工具通信。在其他實施例中,軟件工具可以在任何時間與外圍設(shè)備管理工具顯式地通信來提供在注冊期間存儲的關(guān)于軟件工具的信息。無論注冊信息是如何接收和存儲的,在框202的注冊之后,將至少一個軟件工具作為關(guān)于對外圍設(shè)備的控制的分配的指令的潛在源來注冊。在框204,標識要分配其控制的外圍設(shè)備。外圍設(shè)備可以用任何合適的方式來標識,其示例在上文中結(jié)合圖1的框102來討論。當標識了外圍設(shè)備時,可獲得該外圍設(shè)備的標識符,這可以是特定外圍設(shè)備或外圍設(shè)備類型的任何合適的標識符。例如,可獲得當外圍設(shè)備被連接時由計算設(shè)備分配的該外圍設(shè)備的標識符(例如,由計算設(shè)備分配給鍵盤和鼠標的序列標識符),或可獲得作為外圍設(shè)備的廠商或制造商提供的序列號的該外圍設(shè)備的標識符??梢允褂萌魏魏线m的標識符。在某些情況下,標識符可以是全局唯一的(例如,沒有一個附加到計算設(shè)備、網(wǎng)絡(luò)或任何計算設(shè)備的外圍設(shè)備的其他實例使用相同的標識符), 和/或可以是持久的(例如,每次外圍設(shè)備附連到計算設(shè)備時外圍設(shè)備都使用相同的標識符)。在框206,啟動一循環(huán),其中查詢在框202注冊的指令的潛在源來確定這些潛在源中的任一個是否具有關(guān)于對框204所標識的外圍設(shè)備的控制的分配的指令。在框206查詢的軟件工具可以是框202注冊的全部軟件工具,或可以是被標識為能夠提供用于框204 中的該外圍設(shè)備或外圍設(shè)備類型標識符的指令的軟件工具,或可以是任何合適的軟件工具集。各工具可以用任何合適的次序來選擇,包括根據(jù)注冊工具的次序,根據(jù)建立分層結(jié)構(gòu)的次序(例如根據(jù)策略或管理員),或以任何其他合適的次序來選擇。在框208,對于要查詢的軟件工具,經(jīng)由任何合適的用于在計算設(shè)備內(nèi)交換信息的消息傳送協(xié)議來發(fā)送查詢。該查詢可標識其控制要被分配的外圍設(shè)備,如通過包括在框204 獲得的外圍設(shè)備的標識符。在框210,作出關(guān)于所查詢的軟件工具是否提供了如何分配對外圍設(shè)備的控制的指令的判定。如果沒有接收到指令,則過程200繼續(xù)到框212,以便確定該集合中是否還剩下任何其它的軟件工具要被查詢。如果是,則過程200返回到框206來選擇另一軟件工具并發(fā)出對于指令的另一查詢。然而,如果在框212確定沒有剩下其它的軟件工具,則過程200
10結(jié)束。在過程200之后,在某些實施例中,可根據(jù)規(guī)則和策略來分配框204中標識的外圍設(shè)備,或者可以用任何其他合適的方式來分配。然而,如果在框210確定接收到指令,則過程200繼續(xù)到框214,在那里根據(jù)所接收的指令來分配對外圍設(shè)備的控制??刂品峙淇梢杂萌魏魏线m的方式來進行,包括根據(jù)以上結(jié)合圖1的框106描述的技術(shù)。一旦在框214分配了控制,則過程200結(jié)束。示例性過程200在上文中被示出并描述為包括一循環(huán),該循環(huán)一次一個地查詢軟件工具集中的每一軟件工具,并且在首次接收到指令時停止查詢軟件工具。查詢軟件工具的實施例不限于以此方式查詢各工具。在其他實施例中,查詢可被發(fā)送到每一軟件工具以便進行并行查詢,并且可接收并評估包括指令的任何響應(yīng)。如果僅接收到一個指令,則可使用該指令來分配對外圍設(shè)備的控制。然而,如果作為響應(yīng)接收到多個指令,則可在指令之間作出決定來確定要遵循哪一指令。在某些情況下,可遵循接收的第一個或最后一個指令。在其他情況下,可使用外部信息來確定要遵循哪一指令,該外部信息包括來自用戶/管理員的輸入或指示如何確定要遵循哪一指令的預先建立的策略信息。在分配對外圍設(shè)備的控制時可使用任何合適的過程來查詢軟件工具并確定要遵循哪一指令。圖2示出了可在某些實施例中由外圍設(shè)備管理工具執(zhí)行來查詢軟件工具以便接收指令的過程。圖3示出了可在某些實施例中進行以使軟件工具向外圍設(shè)備管理工具提供關(guān)于如何分配對外圍設(shè)備的控制的指令的另一示例性過程。各實施例不限于進行圖3所示的示例性過程。過程300可以由外圍設(shè)備的廠商或制造商創(chuàng)建并安裝在計算設(shè)備上的、用于外圍設(shè)備的驅(qū)動程序來進行。當計算設(shè)備檢測到外圍設(shè)備連接到計算設(shè)備時(例如,當外圍設(shè)備被首次連接時或在計算設(shè)備的啟動過程期間),可對該外圍設(shè)備進行初始化過程,該初始化過程包括實例化(例如,從盤加載到存儲器中并執(zhí)行)用于該外圍設(shè)備的驅(qū)動程序。該初始化過程以及驅(qū)動程序的實例化可以由計算設(shè)備的操作系統(tǒng)的組件來進行。當為外圍設(shè)備實例化驅(qū)動程序時,過程300在框302開始,且驅(qū)動程序可以進行任何合適的啟動處理, 包括與計算設(shè)備上的其他各件軟件,如操作系統(tǒng)上的其他組件進行通信。該啟動處理可以包括作為用于該驅(qū)動程序所支持的特定類型的外圍設(shè)備或該驅(qū)動程序所支持的特定外圍設(shè)備的指令的潛在源來向外圍設(shè)備管理工具注冊,并存儲該驅(qū)動程序所支持的外圍設(shè)備類型和/或外圍設(shè)備的某一標識符。在某些情況下,當與驅(qū)動程序有關(guān)的類型的多個外圍設(shè)備連接到計算設(shè)備時,可在框302存儲多個標識符。根據(jù)此處描述的技術(shù),驅(qū)動程序可向外圍設(shè)備管理工具提供關(guān)于如何分配控制的指令。因此,在框304,驅(qū)動程序可標識對驅(qū)動程序所相關(guān)的外圍設(shè)備的控制尚未被分配。 框304的標識可用任何合適的方式來進行。在某些實施例中,在啟動處理期間,指示驅(qū)動程序尚未向外圍設(shè)備管理工具提供關(guān)于應(yīng)如何分配對外圍設(shè)備的控制的指令的數(shù)據(jù)可由驅(qū)動程序存儲、可被驅(qū)動程序訪問。在框306,驅(qū)動程序從外圍設(shè)備管理工具接收詢問驅(qū)動程序是否將向外圍設(shè)備管理工具提供關(guān)于對特定外圍設(shè)備的控制的分配的指令的查詢。該查詢可包括其控制要被分配的特定外圍設(shè)備或外圍設(shè)備類型的標識符。在框308,作出關(guān)于框306的查詢中接收的標識符是否匹配框302中存儲的標識符(或標識符之一)的判定。如果是,則該查詢被確定為對于關(guān)于驅(qū)動程序所相關(guān)的外圍設(shè)備的指令的查詢,且驅(qū)動程序?qū)㈨憫?yīng)于該查詢來提供指令。如果否,則過程300返回到框306來等待接收另一查詢。通過檢查查詢中接收到的標識符,驅(qū)動程序?qū)⒉豁憫?yīng)關(guān)于該驅(qū)動程序不相關(guān)的外圍設(shè)備的查詢,從而幫助確保接收且由外圍設(shè)備管理工具使用正確的指令。在框310,當在框308確定將提供指令時,響應(yīng)于查詢向外圍設(shè)備管理工具提供關(guān)于對外圍設(shè)備的控制的分配的指令。所提供的指令可以是關(guān)于對外圍設(shè)備的控制的分配的任何合適的指令。在某些實施例中,框310中由驅(qū)動程序提供的指令可以是驅(qū)動程序中預配置的指令,使得驅(qū)動程序?qū)⑹冀K響應(yīng)于查詢提供這些指令。例如,驅(qū)動程序可被配置成提供標識一個或多個其他外圍設(shè)備與對其發(fā)出查詢的外圍設(shè)備一起形成了復合外圍設(shè)備,且對該復合外圍設(shè)備的各外圍設(shè)備的控制應(yīng)被一起分配的指令。作為另一示例,驅(qū)動程序可被配置成提供標識對外圍設(shè)備的控制應(yīng)被分配給一特定用戶會話,或?qū)ν鈬O(shè)備的特定類型的控制(例如,其所有權(quán),或?qū)ζ涞奶囟ㄔL問權(quán)限)應(yīng)被分配給一用戶會話的指令。在其他實施例中,該驅(qū)動程序可能不是用指令來預配置的,而是改為基于任何合適的信息來創(chuàng)建指令。例如,驅(qū)動程序可檢查連接到計算設(shè)備的其他外圍設(shè)備、計算設(shè)備上的活動用戶會話、或任何其他信息,并創(chuàng)建關(guān)于應(yīng)如何在該計算設(shè)備上分配對外圍設(shè)備的控制的指令。關(guān)于驅(qū)動程序如何創(chuàng)建指令,在框310,作為對查詢的響應(yīng),經(jīng)由計算設(shè)備的任何合適的消息傳送協(xié)議將指令提供給外圍設(shè)備管理工具。一旦提供了指令,在框312,驅(qū)動程序諸如通過蓋寫框304中存儲的指示尚未提供指令的數(shù)據(jù)來標識已經(jīng)為該外圍設(shè)備提供了指令。可以這樣做來使得如果驅(qū)動程序接收到請求用于分配對外圍設(shè)備的控制的指令的其他查詢,則驅(qū)動程序可以確定該驅(qū)動程序已經(jīng)提供了指令并且可以不再次提供指令。一旦驅(qū)動程序在框312標識了已經(jīng)提供了指令,則過程300結(jié)束。在上述示例性過程300中,驅(qū)動程序在框304標識該驅(qū)動程序相關(guān)的外圍設(shè)備,并且隨后在框306接收關(guān)于用于該驅(qū)動程序的指令的查詢。各實施例不限于以此方式來執(zhí)行這些操作。在替換實施例中,例如,驅(qū)動程序可從外圍設(shè)備管理工具接收關(guān)于用于分配對外圍設(shè)備的控制的指令的查詢,并且響應(yīng)于接收到該查詢,確定該驅(qū)動程序所相關(guān)的任何外圍設(shè)備是否連接到計算設(shè)備(例如,在框304之前執(zhí)行框306,或作為框306的一部分來執(zhí)行框304)。各實施例可以用任何合適的方式來實現(xiàn)以便向外圍設(shè)備管理工具提供指令,各實施例不限于任何特定的提供指令的方式。如上所討論的,提供關(guān)于如何分配對外圍設(shè)備的控制的指令的軟件工具可以提供指示外圍設(shè)備管理組件分配任何合適類型的控制的任何合適的指令。圖4A到4C示出了可對于對其接收到指令的示例性類型的控制執(zhí)行的示例性過程。各實施例不限于實現(xiàn)圖4A 到4C所示的示例性過程,各實施例也不限于與用于結(jié)合這些過程所討論的特定控制類型的示例性指令一起操作。圖4A示出了用于通過將外圍設(shè)備的所有權(quán)分配給計算設(shè)備的用戶會話來分配對外圍設(shè)備的控制的過程400。過程400在框402開始,在那里在外圍設(shè)備管理工具處接收指令,該指令指示外圍設(shè)備的所有權(quán)被分配給該指令所指定的用戶會話。外圍設(shè)備的所有權(quán)向該用戶會話授予用于使用外圍設(shè)備的所有訪問權(quán)限以及用于管理外圍設(shè)備的權(quán)限。訪問外圍設(shè)備可包括從外圍設(shè)備讀取數(shù)據(jù)、向外圍設(shè)備寫入數(shù)據(jù)、操作外圍設(shè)備來執(zhí)行某一任務(wù)、或任何其他的與外圍設(shè)備交互的方式。管理外圍設(shè)備可包括斷開外圍設(shè)備、改變用于外圍設(shè)備的驅(qū)動程序、將對外圍設(shè)備的訪問授予其他方、以及其他配置外圍設(shè)備的方式和外圍設(shè)備與計算設(shè)備交互的方式。在框404,通過更新與外圍設(shè)備相關(guān)聯(lián)的計算設(shè)備的記錄來標識該外圍設(shè)備的所有權(quán)已被分配給指令所指定的用戶會話,來將外圍設(shè)備的所有權(quán)分配給用戶會話。一旦在框404中更新了記錄,則過程400結(jié)束,且操作指定用戶會話的用戶將能夠訪問和/或管理該外圍設(shè)備。圖4B示出了用于通過將對外圍設(shè)備的訪問權(quán)限分配給計算設(shè)備的用戶會話來分配對外圍設(shè)備的控制的過程420。所分配的訪問權(quán)限可包括從外圍設(shè)備讀取數(shù)據(jù)的權(quán)限、向外圍設(shè)備寫入數(shù)據(jù)的權(quán)限、和/或使用外圍設(shè)備來執(zhí)行指定任務(wù)的權(quán)限。在框422,在外圍設(shè)備管理工具處接收指令,該指令指示特定訪問權(quán)限被分配給該指令所指定的用戶會話。 在框404,通過更新與外圍設(shè)備相關(guān)聯(lián)的計算設(shè)備的記錄來分配對外圍設(shè)備的訪問權(quán)限。一旦在框似4中更新了記錄,則過程420結(jié)束,且操作指定用戶會話的用戶將能夠以指定方式訪問該外圍設(shè)備。盡管圖4A和4B被單獨示出并描述為替換過程,但在某些實施例中,這些過程可一起使用。例如,可接收指示外圍設(shè)備的所有權(quán)被分配給特定用戶會話且對外圍設(shè)備的訪問權(quán)限被提供給所有或指定的其他用戶會話的指令。另外,盡管在圖4A和4B中,指令被描述為指定了要向其分配控制的用戶會話,但在某些實施例中,指令可能不精確指定用戶會話,而是可概括地指定控制應(yīng)被分配給一個用戶會話。外圍設(shè)備管理工具在接收到指令后,可以隨后確定要向其分配控制的特定用戶會話。例如,用于監(jiān)視器的驅(qū)動程序可指定監(jiān)視器的所有權(quán)應(yīng)被分配給一特定用戶會話,使得一次僅一個用戶會話正在向監(jiān)視器輸入內(nèi)容,但不精確地標識該用戶會話。相反,外圍設(shè)備管理工具將接收指令并標識要向其分配監(jiān)視器的用戶會話。各實施例可實現(xiàn)任何合適的用于將對外圍設(shè)備的控制分配給用戶會話的過程,各實施例在這一點上不受限制。圖4C示出了用于分配對外圍設(shè)備的控制的另一示例性過程440,其中接收關(guān)于復合外圍設(shè)備的指令。如上所討論的,復合外圍設(shè)備是被設(shè)計成一起使用的兩個或更多外圍設(shè)備,如物理上容納在一起或互操作的兩個或更多設(shè)備。在各實施例中,計算設(shè)備可將每一外圍設(shè)備標識為個別的、不相關(guān)的外圍設(shè)備,并且軟件工具可指示對復合設(shè)備的控制被一起分配。過程440在框442開始,在那里接收標識作為復合外圍設(shè)備且其控制應(yīng)被一起分配的兩個或更多外圍設(shè)備的指令???42所接收的指令可以標識或可以不標識要分配的特定類型的控制(例如,兩個或更多外圍設(shè)備的所有權(quán)或?qū)蓚€或更多外圍設(shè)備的訪問),而是可改為標識復合外圍設(shè)備,使得可使用其他過程來一起分配對各外圍設(shè)備的控制。例如, 在也使用規(guī)則和策略來分配對外圍設(shè)備的控制的實施例中,規(guī)則和策略可用于一起分配對兩個或更多外圍設(shè)備的控制。在框444,對兩個或更多外圍設(shè)備的控制可根據(jù)框442中接收到的指令來分配。在所接收的指令指定要分配的一類控制的情況下,框444的分配可包括通過更新與兩個或更多外圍設(shè)備中的每一個相關(guān)聯(lián)的記錄來反映該訪問,來根據(jù)該指令中指定的控制類型進行分配。在控制僅標識外圍設(shè)備的情況下,框444的分配可包括標識兩個或更多外圍設(shè)備要一起分配,使得用于分配控制的另一過程可一起分配對外圍設(shè)備的控制。一旦根據(jù)指令分配了控制,過程400結(jié)束。盡管過程440描述了對復合外圍設(shè)備的各外圍設(shè)備的控制被類似地分配,但各實施例不限于以相同的方式分配對復合外圍設(shè)備的各外圍設(shè)備的控制。在某些實施例中,軟件工具可指示對復合外圍設(shè)備的某些外圍設(shè)備的控制與其他外圍設(shè)備不同地分配,軟件工具不限于指示分配任何特定類型的控制。例如,一個復合外圍設(shè)備可包括一起在一個物理外殼中的打印機、掃描儀和存儲卡讀卡器。軟件工具可指示打印機對計算設(shè)備的所有用戶會話可用,使得所有用戶都能夠打印,但是可指示掃描儀和存儲卡讀卡器僅對一個用戶會話可用,使得存儲在存儲卡中或經(jīng)由掃描儀接收的數(shù)據(jù)僅對一個用戶會話可用并維持機密。在上述示例中,對外圍設(shè)備的控制根據(jù)在首次檢測到或首次連接外圍設(shè)備時接收到的指令來分配。各實施例不限于僅一次分配對外圍設(shè)備的控制,而是可在任何時刻分配和重新分配對外圍設(shè)備的控制??稍谌魏魏线m的時間以任何合適的方式接收關(guān)于對連接到計算設(shè)備的外圍設(shè)備的分配的任何合適的指令。圖5示出了可在某些實施例中用于根據(jù)從軟件工具接收的指令來重新分配對外圍設(shè)備的控制的一個示例性過程500。允許重新分配對外圍設(shè)備的控制的實施例不限于實現(xiàn)圖5的過程。過程500在框502開始,在那里根據(jù)從軟件工具接收的指令來分配對外圍設(shè)備的控制。框502的分配可以在首次檢測到或首次連接外圍設(shè)備時進行,并且可包括將任何合適類型的控制分配給一個或多個用戶會話。在框504,接收關(guān)于對其控制在框502中被分配的外圍設(shè)備的控制的分配的第二指令???04接收的第二指令可以來自與框502的第一指令相同的軟件工具,或者可以來自不同的軟件工具。例如,第一指令可以在框502中從來自軟件工具的驅(qū)動程序接收,而第二指令可以在框504中從在計算設(shè)備上執(zhí)行的應(yīng)用程序接收。第二指令還可指示接收該第二指令的外圍設(shè)備管理工具以任何合適的方式分配對外圍設(shè)備的控制,該控制可與第一指令所指示的控制完全相同、相似、或完全不同。在框506,可作出關(guān)于是否遵循第二指令并改變分配對外圍設(shè)備的控制的方式的判定???06的判定可以根據(jù)任何合適的規(guī)則或策略來作出。例如,可基于將遵循所有指令的簡單策略來作出遵循第二指令的判定,并且最后接收到的指令是將支配如何分配控制的指令。作為另一示例,可作出關(guān)于指令的源的判定,并且可考慮源的分層結(jié)構(gòu)來確定第二指令是否是從該分層結(jié)構(gòu)中比第一指令更高的源接收的。如果第二指令是從分層結(jié)構(gòu)中更高的源接收的,則可遵循該指令,但是在其他情況下將忽略該指令。該分層結(jié)構(gòu)可以是任何合適的分層結(jié)構(gòu),包括用戶或用戶會話的分層結(jié)構(gòu),或源類型的分層結(jié)構(gòu)。例如,管理員的排名可以比用戶高,或者驅(qū)動程序的排名可以被軟件應(yīng)用高。作為另一示例,可提示用戶或管理員提供關(guān)于是否遵循第二指令的輸入??墒褂萌魏魏线m的信息來確定是否遵循第二指令。如果確定不遵循第二指令,則過程500結(jié)束。然而,如果確定要遵循第二指令,則在框508根據(jù)第二指令來分配控制。在框508分配了控制之后,過程500結(jié)束。在上述每一示例性實施例中,根據(jù)從軟件工具接收的指令來分配外圍設(shè)備是在外圍設(shè)備被檢測到或首次連接到計算設(shè)備時進行的。然而,各實施例不限于在每次外圍設(shè)備被檢測到或首次連接時分配對外圍設(shè)備的控制。相反,在某些實施例中,對外圍設(shè)備的控制可以根據(jù)指令來分配,并且可將關(guān)于該控制或關(guān)于該指令的某些信息存儲在計算設(shè)備的持久存儲中(例如,在外圍設(shè)備管理工具和/或計算設(shè)備的操作系統(tǒng)的持久存儲中)。在存儲信息之后,當隨后外圍設(shè)備被檢測到(例如,在啟動時)或連接時,可從該持久存儲檢索關(guān)于控制或關(guān)于指令的信息并且該信息可用于以相同的方式來分配對外圍設(shè)備的控制。以此方式,在這些實施例中,基于指令來分配對外圍設(shè)備的控制可以在接收了關(guān)于控制的分配的一個指令之后被執(zhí)行多次。然而,某些實施例可能不存儲關(guān)于控制或指令的任何信息,某些實施例可能僅將此類信息存儲在臨時存儲而非持久存儲中。如上所討論的,各實施例不限于與特定計算設(shè)備、外圍設(shè)備、軟件工具或控制類型一起工作。以下描述的是某些實施例可在其中操作的一個示例性環(huán)境。然而,各實施例不限于實現(xiàn)結(jié)合本示例性實施例描述的技術(shù)中的任一種,以也不限于與結(jié)合本實施例描述的示例性類型的設(shè)備和外圍設(shè)備的任一種一起操作。圖6示出了包括計算設(shè)備602的一個示例性計算機系統(tǒng)600。計算設(shè)備602可適用于由多個用戶同時操作并同時與多個用戶中的每一個交互。為使每一用戶能夠與計算設(shè)備602交互,與用戶相關(guān)聯(lián)的每一用戶會話可以與一終端組604相關(guān)聯(lián)。每一終端組604 包括作為用戶可用于與計算設(shè)備602交互的接口設(shè)備的外圍設(shè)備,包括向計算設(shè)備602提供數(shù)據(jù)的輸入設(shè)備604A和/或從計算設(shè)備602讀取數(shù)據(jù)的輸出設(shè)備604B。每一終端組的外圍設(shè)備可包括任何合適數(shù)量和類型的外圍設(shè)備,包括顯示器、鍵盤和鼠標,以及任何其他類型的外圍設(shè)備(例如,存儲設(shè)備)。圖6示出了七個終端組,但應(yīng)當理解,各實施例可以與任何合適數(shù)量的用戶和任何合適數(shù)量的終端組一起操作。在每一終端組內(nèi),外圍設(shè)備可按任何合適的方式連接到計算設(shè)備602。在某些情況下,各個外圍設(shè)備可直接連接到計算設(shè)備602的端口。在其他情況下,多個外圍設(shè)備可經(jīng)由集線器連接到計算設(shè)備的一個端口,該集線器具有連接到每一外圍設(shè)備的多個輸入端口和連接到計算設(shè)備602的一個輸出端口。在某些情況下,終端組的某些外圍設(shè)備可以直接連接到計算設(shè)備602,其他則經(jīng)由集線器來連接。圖7示出了終端組的外圍設(shè)備到計算設(shè)備602的示例性連接。在終端組710中, 顯示器713諸如經(jīng)由計算設(shè)備602的視頻輸出端口直接連接到計算設(shè)備602。鍵盤715和鼠標717經(jīng)由集線器711間接連接到計算設(shè)備602。鍵盤715和鼠標717可以是被設(shè)計成經(jīng)由通用串行總線(USB)連接到計算設(shè)備602的外圍設(shè)備,且集線器711可以是具有連接到鍵盤715和鼠標717的兩個或更多輸入端口且具有連接到計算設(shè)備602上的USB端口的一個輸出端口的USB集線器。集線器用于在計算設(shè)備602和外圍設(shè)備715、717以及連接到集線器711的任何其他外圍設(shè)備之間來回傳遞數(shù)據(jù)。終端組720示出了略微不同的安排,其中終端組720的顯示器723(以及鍵盤725 和鼠標727)經(jīng)由集線器721連接到計算設(shè)備602。終端組730示出了類似于終端組710的配置,其中顯示器733直接連接到計算設(shè)備602,而鍵盤735和鼠標737經(jīng)由集線器731連接。終端組740示出了類似于終端組720的安排,其中顯示器743、鍵盤745和鼠標 747經(jīng)由集線器741連接到計算設(shè)備。終端組740也經(jīng)由計算機通信網(wǎng)絡(luò)702連接到計算設(shè)備。終端組740可以連接到第二計算設(shè)備(未示出),該第二計算設(shè)備可能正在使用通信協(xié)議來將經(jīng)由鍵盤745和鼠標747輸入的數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)702傳遞到計算設(shè)備602并將計算設(shè)備602生成的圖形數(shù)據(jù)傳遞到顯示器743??墒褂萌魏魏线m的通信協(xié)議,包括終端服務(wù)協(xié)議或微軟 遠程桌面協(xié)議(RDP),來沿著任何合適的有線和/或無線通信網(wǎng)絡(luò),包括局域網(wǎng) (LAN)和/或因特網(wǎng)傳遞數(shù)據(jù)。
15
計算設(shè)備602可被配置成檢測經(jīng)由計算設(shè)備602的端口和通信總線連接到計算設(shè)備602的外圍設(shè)備,并確定計算設(shè)備的物理連接。圖8示出了連接到計算設(shè)備602的外圍設(shè)備的一個示例性分層結(jié)構(gòu)800。計算設(shè)備602包括處理通過計算設(shè)備602的USB總線發(fā)送或接收的所有數(shù)據(jù)的USB根集線器802、以及處理由計算設(shè)備602生成來顯示給用戶的所有圖形數(shù)據(jù)的圖形卡818,以及其他硬件。如圖8的示例中所示,計算設(shè)備602檢測到USB 集線器814和USB集線器814連接到USB根集線器802。連接到集線器804的是包括顯示器806、復合設(shè)備808和接口設(shè)備810和812在內(nèi)的外圍設(shè)備。連接到集線器814的是顯示設(shè)備816和USB復合設(shè)備。計算設(shè)備還檢測到連接到圖形卡818的是顯示器820、822、擬4 和 826。當外圍設(shè)備被附連到計算設(shè)備602時,作出關(guān)于要向哪一終端組(以及向哪一用戶會話)分配對外圍設(shè)備的控制的判定。這一過程可用于創(chuàng)建終端組或向現(xiàn)有終端組添加外圍設(shè)備。在某些實施例中,可進行對被檢測到連接到計算設(shè)備602的外圍設(shè)備的基于規(guī)則的分析來確定要將設(shè)備相關(guān)到的終端組。在這一基于規(guī)則的過程中,以相似方式連接的設(shè)備可一起被標識為一終端組,且以不同的相似方式連接的設(shè)備可被標識為第二終端組。例如,連接到一個集線器的所有設(shè)備可被標識為一個終端組,且連接到另一集線器的所有設(shè)備可被標識為另一終端組。用于進行基于規(guī)則的分析的技術(shù)在'077申請和具有代理案卷號Ml 103. 70848US01的_申請中有更詳細討論。然而,這一基于規(guī)則的分析可能不是在所有情況下都是成功的,或者可能不在所有情況下都適當?shù)胤峙湓O(shè)備。例如,經(jīng)由圖形卡818連接到計算設(shè)備602的顯示設(shè)備在與經(jīng)由USB根集線器802連接到計算設(shè)備602的外圍設(shè)備不同的分層結(jié)構(gòu)中示出。對USB分層結(jié)構(gòu)的基于規(guī)則的分析可能不處理顯示設(shè)備,反之亦然。另外,因為在分層結(jié)構(gòu)之間沒有相關(guān),因此可能沒有供基于規(guī)則的分析將顯示設(shè)備匹配到USB設(shè)備的辦法。作為另一示例, 如上所討論的,復合外圍設(shè)備可被計算設(shè)備602作為完全不同的外圍設(shè)備來對待,并且可用不同的方式來檢測并被放置在分層結(jié)構(gòu)中的不同點上。因而,對USB分層結(jié)構(gòu)的檢查可導致USB復合外圍設(shè)備的某些外圍設(shè)備被分配到不同的終端組。此外,在某些情況下,復合外圍設(shè)備包括在同一物理外殼內(nèi)的顯示器和USB集線器。USB集線器包括打算將鍵盤和鼠標以及用戶可能希望連接到計算機的任何其他外圍設(shè)備連接到其上的至少兩個USB端口。顯示器、USB集線器、鍵盤和鼠標旨在形成一復合外圍設(shè)備,且旨在形成一終端組,因為用戶將預期經(jīng)由USB集線器連接的鍵盤和鼠標將被分配給與顯示器相同的終端組,使得用戶可將所有三個設(shè)備一起使用。然而,顯示設(shè)備可經(jīng)由圖形端口直接連接到計算設(shè)備602,并且USB外圍設(shè)備可經(jīng)由USB集線器連接到計算設(shè)備。如上所討論的,使用基于規(guī)則的分析,可能沒有辦法來確保顯示器將被分配到與USB集線器相同的終端組。因而可要求用戶執(zhí)行一手動過程來配置終端組,這如上所討論的會是困難且不合需要的。根據(jù)此處所描述的技術(shù),可從軟件工具接收指令,該指令可用于確定如何將對外圍設(shè)備的控制分配給終端組或分配給用戶會話。圖9示出了可在本實施例中進行來將對外圍設(shè)備的控制分配給用戶會話并從這些外圍設(shè)備形成終端組的一個過程。在圖9的示例中,連接到計算設(shè)備的外圍設(shè)備包括上述復合外圍設(shè)備,包括顯示器和對其附連了鍵盤、鼠標和/或任何其他外圍設(shè)備的USB集線器。然而,各實施例不限于與這些類型的外圍設(shè)備或任何其他類型的外圍設(shè)備一起操作,各實施例不限于實現(xiàn)圖9所示的示例性過程。過程900在框902開始,在那里檢測并初始化連接到計算設(shè)備602的每一外圍設(shè)備。作為外圍設(shè)備的初始化的一部分,可為每一設(shè)備實例化驅(qū)動程序。在框902,將復合外圍設(shè)備的顯示器和USB集線器檢測為連接到計算設(shè)備602,并且為每一設(shè)備實例化驅(qū)動程序。用于顯示設(shè)備(和/或用于USB集線器)的驅(qū)動程序可以用該顯示器是包括USB集線器的復合外圍設(shè)備的一部分的知識來預配置。如上所討論的,驅(qū)動程序也可作為關(guān)于外圍設(shè)備的分配的指令的潛在源向外圍設(shè)備管理設(shè)備注冊。在框904,在檢測和初始化設(shè)備之后,外圍設(shè)備管理設(shè)備可檢查被檢測為連接到計算設(shè)備的外圍設(shè)備的集合來確定如何分配對外圍設(shè)備的控制。在該檢查期間,外圍設(shè)備管理工具可查詢關(guān)于對該外圍設(shè)備管理工具檢測為尚未分配控制的外圍設(shè)備的控制的分配的指令的潛在源。作為該查詢的一部分,外圍設(shè)備管理工具可查詢?yōu)轱@示器實例化的驅(qū)動程序。在框906,用于顯示器的驅(qū)動程序可響應(yīng)標識該顯示器與USB集線器形成復合外圍設(shè)備的查詢,并且可使用USB集線器的標識符來標識USB集線器。驅(qū)動程序可指示外圍設(shè)備管理工具,顯示器和USB集線器以及經(jīng)由USB集線器連接的任何外圍設(shè)備應(yīng)作為一個組來一起管理并作為一個組來一起分配給用戶會話。驅(qū)動程序可以不指示控制被分配給特定用戶會話,而是可以指示對每一設(shè)備的控制被分配給一個用戶會話。在框908,基于該指令,外圍設(shè)備管理工具可創(chuàng)建一終端組,并將對顯示器、USB集線器以及經(jīng)由USB集線器連接到設(shè)備的控制關(guān)聯(lián)給該終端組。當經(jīng)由終端組創(chuàng)建用戶會話時(例如,用戶使用鍵盤和顯示器登錄并創(chuàng)建用戶會話),可將該終端組與該用戶會話相關(guān)聯(lián),使得對外圍設(shè)備的控制被分配給該用戶會話。一旦在框908分配了控制,過程900結(jié)束。如上所討論的,在某些實施例中,根據(jù)來自軟件工具的指令來分配對外圍設(shè)備的控制可包括分配對外圍設(shè)備的訪問權(quán)限。對外圍設(shè)備的訪問權(quán)限可包括以特定方式使用外圍設(shè)備的一部分,或使用外圍設(shè)備的一部分來執(zhí)行特定任務(wù)的權(quán)限。在顯示器的情況下,使用該外圍設(shè)備的一特定部分或使用該外圍設(shè)備的一部分來執(zhí)行特定任務(wù)可包括使用顯示器的特定區(qū)域。例如,如圖10所示,顯示器1000可被劃分成各個區(qū)域A、B、C和D。分配對顯示器的訪問權(quán)限可包括分配對顯示器的一特定部分的訪問權(quán)限。提供關(guān)于對顯示器的控制的分配的指令的軟件工具可指示外圍設(shè)備管理工具,顯示器可被劃分成四個區(qū)域,并指示外圍設(shè)備管理工具將對四個區(qū)域中的每一個的控制分配給一不同的用戶會話,使得在本來僅一個用戶能夠使用顯示器1000的情況下四個用戶能夠使用該顯示器。在上述每一示例中,對外圍設(shè)備的控制是根據(jù)來自軟件工具的指令來分配的,并
且在未接收到指令的情況下,控制是根據(jù)如在'077申請和_申請(該申請具有代
理案卷號M1103.70847US01)中所描述的基于規(guī)則的分析來分配的。然而,在某些實施例中,對設(shè)備的控制可根據(jù)來自軟件工具的指令、基于規(guī)則的分析和/或用戶輸入的組合來分配。例如,如上所討論的,在基于規(guī)則的分析的某些實現(xiàn)中,對像顯示器這樣的輸出外圍設(shè)備的控制可能無法容易地根據(jù)規(guī)則來分配。由此,在接收到指令且應(yīng)用了規(guī)則之后,在某些情況下,對某些輸出外圍設(shè)備的控制仍然可能未被分配。然而,用戶可能期望使用該輸出設(shè)備,且因此控制應(yīng)被分配。圖IlA示出了用于至少部分地基于用戶輸入來分配對輸出外圍設(shè)備的控制的一個技術(shù)的示例。各實施例不限于基于用戶輸入來分配對輸出外圍設(shè)備的控制,且基于用戶輸入來分配控制的實施例不限于實現(xiàn)圖IlA中所示的示例性過程。在開始過程1100之前,對外圍設(shè)備的控制可能已經(jīng)根據(jù)從軟件工具接收的指令和/或基于規(guī)則的分析的規(guī)則來分配。過程1100在況1102開始,在那里作出關(guān)于是否還剩下其控制未被分配的任何輸出外圍設(shè)備的判定。如果否,則過程1100結(jié)束。然而,如果在框1102確定對至少一個輸出外圍設(shè)備的控制尚未被分配,則在框 1104,外圍設(shè)備管理工具向每一這樣的輸出外圍設(shè)備輸出一獨特提示。該獨特提示可以是指示用戶采取某種動作的任何提示。該提示可以用任何合適的方式來輸出,這些方式可以基于其上輸出提示的輸出外圍設(shè)備的類型而變化。圖IlB示出了一個這樣的輸出的示例, 其中顯示外圍設(shè)備在顯示屏幕的不同區(qū)域中輸出指示用戶提供特定輸入的不同提示(即, “按下鍵盤上的‘A’”)。在框1106,從至少一個輸入外圍設(shè)備接收輸入???106中接收到的輸入在某些情況下可包括對應(yīng)于框1104中輸出的獨特提示的內(nèi)容。當輸入的內(nèi)容對應(yīng)于該獨特提示時,可作出期望使用其控制尚未被分配的特定輸出外圍設(shè)備的用戶也正在使用從中接收到輸入的輸入外圍設(shè)備的判定。因此,以與輸入外圍設(shè)備相同的方式來分配未分配的輸出外圍設(shè)備可導致用戶被授予對該用戶期望使用的所有外圍設(shè)備的訪問。因此,在框1108,對每一組匹配的輸入和提示(框1104中輸出的提示和框1106中接收的輸入)開始一循環(huán)。在框1110,對于所選的一對從輸出外圍設(shè)備輸出的提示和從輸入外圍設(shè)備接收的輸入,以與輸入外圍設(shè)備相同的方式來分配對輸出外圍設(shè)備的控制。在框1112,如果存在更多匹配,則該循環(huán)在框1108中對另一對輸出和輸入外圍設(shè)備繼續(xù)。如果在框1112確定不存在更多匹配,則過程1100結(jié)束。根據(jù)本文描述的原理操作的技術(shù)可以按任何合適的方式來實現(xiàn)。以上的討論中所包括的是示出基于來自軟件工具的指令來分配對外圍設(shè)備的控制的各種過程的步驟和動作的一系列流程圖。以上的流程圖的處理和判定框表示可被包括在實現(xiàn)這各種過程的算法中的步驟和動作。從這些過程導出的算法可以被實現(xiàn)為與一個或多個多用途處理器集成被指導其操作的軟件、可以被實現(xiàn)為諸如數(shù)字信號處理(DSP)電路或?qū)S眉呻娐?ASIC)等功能上等效的電路、或可以用任何其他合適的方式來實現(xiàn)。應(yīng)當理解,此處包括的流程圖未描繪任何特定電路的句法或操作,也未描繪任何特定的編程語言或編程語言類型的句法或操作。相反,各流程圖示出了本領(lǐng)域普通技術(shù)人員可用于制造電路或?qū)崿F(xiàn)計算機軟件算法來執(zhí)行實現(xiàn)此處描述的各類型的技術(shù)的特定裝置的處理的功能信息。還應(yīng)當理解,除非另外指明,否則每一流程圖中描述的步驟和動作的特定序列僅是可被實現(xiàn)的算法的說明,并且可以在此處描述的原理的各實現(xiàn)和實施例中變化。因此,在某些實施例中,此處描述的技術(shù)可以用被實現(xiàn)為軟件的計算機可執(zhí)行指令來具體化,軟件包括應(yīng)用軟件、系統(tǒng)軟件、固件、中間件、或任何其他合適類型的軟件。這樣的計算機可執(zhí)行指令可使用多種合適的程序設(shè)計語言和/或程序設(shè)計或腳本工具中的任何一種來編寫,而且它們還可被編譯為可執(zhí)行機器語言代碼或在框架或虛擬機上執(zhí)行的中間代碼。當此處描述的技術(shù)被具體化為計算機可執(zhí)行指令時,這些計算機可執(zhí)行指令可以用任何合適的方式來實現(xiàn),包括被實現(xiàn)為多個功能工具,每一功能工具提供完成根據(jù)這些技術(shù)來操作的算法的執(zhí)行所需的一個或多個操作。不論是如何實例化的,“功能工具”都是計算機系統(tǒng)的一個結(jié)構(gòu)組件,其在與一個或多個計算機集成并由其執(zhí)行時使得該一個或多個計算機執(zhí)行具體操作任務(wù)。功能工具可以是軟件元素的一部分或是整個軟件元素。例如, 功能工具可被實現(xiàn)為進程的函數(shù)、或被實現(xiàn)為離散進程、或被實現(xiàn)為任何其他合適的處理單元。如果此處描述的技術(shù)被實現(xiàn)為多個功能工具,則每一功能工具可以按其自己的方式來實現(xiàn);不必將所有功能工具以相同的方式來實現(xiàn)。另外,這些功能工具可在適當時并行或串行執(zhí)行,并且可使用在其上執(zhí)行這些模塊的計算機上的共享存儲器、使用消息傳遞協(xié)議、 或以任何其他合適的方式,來在彼此之間傳遞信息。一般而言,功能工具包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。通常,功能工具的功能可以如它們在其中操作的系統(tǒng)所需來組合或分布。在某些實現(xiàn)中,實現(xiàn)此處的技術(shù)的一個或多個功能工具可一起形成完成的軟件包,如作為諸如Microsoft Windows Multi-Point Server 2010(多點服務(wù)器)等軟件程序應(yīng)用。在替換實施例中,這些功能工具可適用于與其他不相關(guān)的功能工具和/或進程交互,來實現(xiàn)軟件程序應(yīng)用。在其他實現(xiàn)中,功能工具可適用于以形成操作系統(tǒng)的方式來與其他功能工具交互,操作系統(tǒng)包括可從華盛頓州雷蒙德市的微軟 公司獲得的Windows 操作系統(tǒng)。換言之,在某些實現(xiàn)中,功能工具可以替換地被實現(xiàn)為操作系統(tǒng)的一部分或在操作系統(tǒng)外部實現(xiàn)。用于執(zhí)行一個或多個任務(wù)的某些示例性功能工具已在此處描述。但應(yīng)當理解,所描述的功能工具和任務(wù)劃分僅是可實現(xiàn)此處描述的示例性技術(shù)的功能工具的類型的說明, 且各實施例不限于以任何特定數(shù)量、劃分、或功能工具類型來實現(xiàn)。在某些實現(xiàn)中,所有功能可在單個功能工具中實現(xiàn)。應(yīng)當理解,在某些實現(xiàn)中,此處描述的功能工具中的某一些可以與其他功能工具一起實現(xiàn)或分開實現(xiàn)(即,作為單個單元或分開的單元),或者這些功能工具中的某一些可能不被實現(xiàn)。在某些實施例中,實現(xiàn)此處描述的技術(shù)的計算機可執(zhí)行指令(但被實現(xiàn)為一個或多個功能工具或以任何其他方式實現(xiàn)時)可以被編碼在一個或多個計算機可讀介質(zhì)上來向該介質(zhì)提供功能。計算機可讀介質(zhì)包括諸如硬盤驅(qū)動器等磁介質(zhì)、諸如壓縮盤(CD)或數(shù)字多功能盤(DVD)等光介質(zhì)、持久或非持久固態(tài)存儲器(例如,閃存、磁RAM等)、或任何其他合適的存儲介質(zhì)。這一計算機可讀介質(zhì)可以用任何合適的方式來實現(xiàn),包括作為以下圖 12的計算機可讀存儲介質(zhì)1206(即,作為計算設(shè)備1200的一部分)或作為獨立的、單獨的存儲介質(zhì)。如此處所使用的,“計算機可讀介質(zhì)”(也稱為“計算機可讀存儲介質(zhì)”)指的是有形存儲介質(zhì)。有形存儲介質(zhì)是非瞬態(tài)的,且具有至少一個物理的結(jié)構(gòu)組件。如此處所使用的,在“計算機可讀介質(zhì)”中,至少一個物理的結(jié)構(gòu)組件具有至少一個物理性質(zhì),該物理性質(zhì)可在用嵌入的信息創(chuàng)建該介質(zhì)的過程、在其上記錄信息的過程、或用信息來編碼介質(zhì)的任何其他過程期間以某種方式更改。例如,計算機可讀介質(zhì)的物理結(jié)構(gòu)的一部分的磁化狀態(tài)可在記錄過程中更改。在其中各技術(shù)可被具體化為計算機可執(zhí)行指令的某些但非全部實現(xiàn)中,這些指令
19可以在任何合適的計算機系統(tǒng)中操作的一個或多個合適的計算設(shè)備上執(zhí)行。包括這些計算機可執(zhí)行指令的功能工具可以與單個多用途可編程數(shù)字計算機裝置、共享處理能力且聯(lián)合執(zhí)行此處所描述的技術(shù)的兩個或更多多用途計算機裝置的協(xié)作系統(tǒng)、專用于執(zhí)行此處所描述的技術(shù)的單個計算機裝置或計算機裝置的協(xié)作系統(tǒng)(位于同處或在地理上分布)、用于實現(xiàn)此處所描述的技術(shù)的一個或多個現(xiàn)場可編程門陣列(FPGA)、或任何其他合適的系統(tǒng)集成,或指導這些系統(tǒng)的操作。圖12示出了計算設(shè)備1200形式的可在實現(xiàn)本文描述的技術(shù)的系統(tǒng)中使用的計算設(shè)備的一個示例性實現(xiàn),然而其他實現(xiàn)也是可能的。應(yīng)理解,圖12既不旨在是對用于依照本發(fā)明描述的原理操作的計算設(shè)備的必要組件的描繪,也不旨在是全面描繪。計算設(shè)備1200可包括至少一個處理器1202、網(wǎng)絡(luò)適配器1204、以及計算機可讀存儲介質(zhì)1206。計算設(shè)備1200可以是例如臺式或膝上型個人計算機,大型機,服務(wù)器,諸如智能移動電話、個人數(shù)字助理或便攜式游戲控制臺等便攜式數(shù)字設(shè)備,或任何其他合適的計算設(shè)備。網(wǎng)絡(luò)適配器1204可以是使得計算設(shè)備1200能夠通過任何合適的計算網(wǎng)絡(luò)來與任何其他合適的計算設(shè)備進行有線和/或無線通信的任何合適的硬件和/或軟件。計算網(wǎng)絡(luò)可包括無線接入點、交換機、路由器、網(wǎng)關(guān)、和/或其他聯(lián)網(wǎng)設(shè)備,以及用于在兩個或更多計算機之間交換數(shù)據(jù)的任何合適的有線和/或無線通信介質(zhì),包括因特網(wǎng)。計算機可讀介質(zhì) 1206適用于存儲要由處理器1202處理的數(shù)據(jù)和/或要由處理器1202執(zhí)行的指令。處理器1202能夠處理數(shù)據(jù)和執(zhí)行指令。這些數(shù)據(jù)和指令可被存儲在計算機可讀存儲介質(zhì)1206 上,并且例如可以啟用計算設(shè)備1200的各組件之間的通信。存儲在計算機可讀存儲介質(zhì)1206上的數(shù)據(jù)和指令可包括實現(xiàn)根據(jù)本文描述的原理操作的技術(shù)的計算機可執(zhí)行指令。在圖12的示例中,如上所述,計算機可讀存儲介質(zhì) 1206存儲實現(xiàn)各種工具并存儲各種信息的計算機可執(zhí)行指令。計算機可讀存儲介質(zhì)1206 可存儲分配對連接到計算設(shè)備1200的外圍設(shè)備的控制的外圍設(shè)備管理工具1208。計算機可讀存儲介質(zhì)1206還可存儲向外圍設(shè)備管理工具提供關(guān)于對外圍設(shè)備的控制的分配的指令的一個或多個軟件工具1210。計算機可讀存儲介質(zhì)1208還可存儲關(guān)于可用于向軟件工具查詢關(guān)于對外圍設(shè)備的控制的分配的指令的潛在源(例如,向外圍設(shè)備管理工具1208注冊的驅(qū)動程序和其他軟件工具)的信息的數(shù)據(jù)存儲1212、關(guān)于計算設(shè)備1200上活動的用戶會話的信息的數(shù)據(jù)存儲1214、以及關(guān)于對連接到計算設(shè)備1200的外圍設(shè)備分配的控制的信息(例如,對外圍設(shè)備分配的所有權(quán)或訪問權(quán)限、以及該所有權(quán)或訪問權(quán)限分配給哪一用戶會話)的數(shù)據(jù)存儲1216。盡管未在圖12中示出,但計算設(shè)備可另外具有一個或多個組件和外圍設(shè)備,包括輸入和輸出設(shè)備。這些設(shè)備特別地可被用來呈現(xiàn)用戶界面??杀挥脕硖峁┯脩艚缑娴妮敵鲈O(shè)備的示例包括用于可視地呈現(xiàn)輸出的打印機或顯示屏和用于可聽地呈現(xiàn)輸出的揚聲器或其他聲音生成設(shè)備??杀挥糜谟脩艚缑娴妮斎朐O(shè)備的示例包括鍵盤和諸如鼠標、觸摸板和數(shù)字化輸入板等定點設(shè)備。作為另一示例,計算設(shè)備可以通過語音識別或以其他可聽格式來接收輸入信息。已經(jīng)描述了其中各技術(shù)以電路和/或計算機可執(zhí)行指令來實現(xiàn)的各實施例。應(yīng)當理解,某些實施例可采用方法的形式,已經(jīng)提供了其至少一個示例。作為該方法的一部分所執(zhí)行的動作可以按任何合適的方式來排序。因此,可以構(gòu)建各個實施例,其中各動作以與所示的次序所不同的次序執(zhí)行,不同的次序可包括同時執(zhí)行某些動作,即使這些動作在各說明性實施例中被示為順序動作。以上描述的各實施例的各個方面可單獨、組合或以未在前述實施例中具體討論的各種安排來使用,從而并不將其應(yīng)用限于前述描述中所述或附圖中所示的組件的細節(jié)和安排。例如,可使用任何方式將一個實施例中描述的各方面與其他實施例中描述的各方面組合。在權(quán)利要求書中使用諸如“第一”、“第二”、“第三”等序數(shù)詞來修飾權(quán)利要求元素本身并不意味著一個權(quán)利要求元素較之另一個權(quán)利要求元素的優(yōu)先級、先后次序或順序、 或者方法的各動作執(zhí)行的時間順序,而僅用作將具有某一名字的一個權(quán)利要求元素與(若不是使用序數(shù)詞則)具有同一名字的另一元素區(qū)分開的標簽以區(qū)分各權(quán)利要求元素。同樣,此處所使用的短語和術(shù)語是出于描述的目的而不應(yīng)被認為是限制。此處對 “包括”、“包含”、“具有”、“含有”、“涉及”及其變型的使用旨在包括其后所列的項目及其等效物以及其他項目。至此描述了至少一個實施例的若干方面,可以理解,本領(lǐng)域的技術(shù)人員可容易地想到各種更改、修改和改進。這樣的更改、修改和改進旨在是本發(fā)明的一部分,且旨在處于此處描述的原理的精神和范圍內(nèi)。因此,上述描述和附圖僅用作示例。
權(quán)利要求
1.一種分配對連接到計算設(shè)備的外圍設(shè)備的控制的方法,所述方法包括 標識(10 連接到所述計算設(shè)備的外圍設(shè)備;接收(104)關(guān)于分配對所述外圍設(shè)備的控制的指令;以及至少部分地基于所述指令來分配(106)對所述外圍設(shè)備的控制。
2.如權(quán)利要求1所述的方法,其特征在于,接收所述指令包括從用于所述外圍設(shè)備的驅(qū)動程序接收所述指令。
3.如權(quán)利要求3所述的方法,其特征在于,還包括將至少一個軟件工具作為關(guān)于分配對外圍設(shè)備的控制的指令的潛在源來注冊(202), 所述至少一個軟件包括所述驅(qū)動程序;以及在所述標識之后且在所述接收之前,向指令的至少一個潛在源查詢(208)關(guān)于所述外圍設(shè)備的分配。
4.如權(quán)利要求1所述的方法,其特征在于,接收所述關(guān)于分配對所述外圍設(shè)備的控制的指令包括接收(44 關(guān)于分配對連接到所述計算設(shè)備的一個或多個外圍設(shè)備的控制的指令,所述兩個或更多外圍設(shè)備形成復合外圍設(shè)備。
5.如權(quán)利要求1所述的方法,其特征在于,至少部分地基于所述指令來分配對所述外圍設(shè)備的控制包括將對所述外圍設(shè)備的控制分配給由所述指令指定的用戶。
6.如權(quán)利要求1所述的方法,其特征在于,分配對所述外圍設(shè)備的控制包括將對所述外圍設(shè)備的控制分配給由所述指令指定的用戶會話。
7.如權(quán)利要求1所述的方法,其特征在于,至少部分地基于所述指令來分配對所述外圍設(shè)備的控制包括將對兩個或更多外圍設(shè)備的控制一起進行分配,所述兩個或更多外圍設(shè)備由所述指令標識。
8.如權(quán)利要求1所述的方法,其特征在于,分配對所述外圍設(shè)備的控制包括分配(404) 所述外圍設(shè)備的所有權(quán)。
9.如權(quán)利要求1所述的方法,其特征在于,分配對所述外圍設(shè)備的控制包括分配(424) 對所述外圍設(shè)備的訪問權(quán)限。
10.至少一個用計算機可執(zhí)行指令編碼的計算機可讀存儲介質(zhì)(1206),所述計算機可執(zhí)行指令在由計算設(shè)備(1200)執(zhí)行時使得所述計算設(shè)備執(zhí)行一種用于分配對連接到計算設(shè)備的外圍設(shè)備的控制的方法,所述方法包括標識(10 連接到所述計算設(shè)備的外圍設(shè)備;從用于所述外圍設(shè)備的驅(qū)動程序接收(104)關(guān)于分配對所述外圍設(shè)備的控制的指令;以及至少部分地基于所述指令來將對所述外圍設(shè)備的控制分配(106)給用戶會話。
11.如權(quán)利要求10所述的至少一個計算機可讀存儲介質(zhì),其特征在于,所述接收關(guān)于分配對所述外圍設(shè)備的控制的指令包括接收(44 關(guān)于分配對連接到所述計算設(shè)備的兩個或更多外圍設(shè)備的控制的指令,所述兩個或更多外圍設(shè)備形成復合外圍設(shè)備。
12.如權(quán)利要求10所述的至少一個計算機可讀存儲介質(zhì),其特征在于,所述方法還包括將至少一個軟件工具作為關(guān)于分配對外圍設(shè)備的控制的指令的潛在源來注冊(202), 所述至少一個軟件包括所述驅(qū)動程序;以及在所述標識之后且在所述接收之前,向指令的至少一個潛在源查詢(208)關(guān)于所述外圍設(shè)備的分配。
13.如權(quán)利要求10所述的至少一個計算機可讀存儲介質(zhì),其特征在于,至少部分地基于所述指令將對所述外圍設(shè)備的控制分配給用戶會話包括將對兩個或更多外圍設(shè)備的控制一起進行分配G44),所述兩個或更多外圍設(shè)備由所述指令來標識。
14.如權(quán)利要求10所述的至少一個計算機可讀存儲介質(zhì),其特征在于,所述方法還包括,在所述分配之后接收關(guān)于分配對所述外圍設(shè)備的控制的第二指令,所述第二指令從不同于所述驅(qū)動程序的源接收;以及至少部分地基于所述第二指令來將對所述外圍設(shè)備的控制分配給不同的用戶會話。
15.如權(quán)利要求10所述的至少一個計算機可讀存儲介質(zhì),其特征在于,分配對所述外圍設(shè)備的控制包括分配(404)所述外圍設(shè)備的所有權(quán)。
16.一種裝置(1200),包括至少一個處理器(1202),其被編程為標識(10 連接到所述計算設(shè)備的外圍設(shè)備;接收(104)關(guān)于分配對所述外圍設(shè)備的控制的指令;以及至少部分地基于所述指令來分配(106)對所述外圍設(shè)備的控制。
17.如權(quán)利要求16所述的裝置,其特征在于,所述至少一個處理器被編程為從用于所述外圍設(shè)備的驅(qū)動程序接收所述指令。
18.如權(quán)利要求16所述的裝置,其特征在于,所述至少一個處理器被編程為從在所述裝置上執(zhí)行的軟件應(yīng)用接收所述指令。
19.如權(quán)利要求16所述的裝置,其特征在于,所述至少一個處理器被編程為通過將對兩個或更多外圍設(shè)備的控制一起進行分配(444)來至少部分地基于所述指令來分配對所述外圍設(shè)備的控制,所述兩個或更多外圍設(shè)備由所述指令標識。
20.如權(quán)利要求16所述的裝置,其特征在于,所述至少一個處理器被編程為通過分配 (404)所述外圍設(shè)備的所有權(quán)來至少部分地基于所述指令來分配對所述外圍設(shè)備的控制。
全文摘要
本發(fā)明公開了計算設(shè)備的外圍設(shè)備的控制分配方法和系統(tǒng)。公開了用于實現(xiàn)計算設(shè)備對外圍設(shè)備的控制的軟件輔助分配(例如,分配外圍設(shè)備的所有權(quán)或分配對外圍設(shè)備的訪問)的技術(shù)。根據(jù)此處所描述的技術(shù),對外圍設(shè)備的控制的分配通過來自軟件工具的輸入來輔助,該軟件工具向外圍設(shè)備管理工具指示關(guān)于外圍設(shè)備的分配。軟件工具可用不同方式來指示外圍設(shè)備管理工具。在某些情況下,軟件工具可指示外圍設(shè)備管理工具如何以一種特定方式分配對外圍設(shè)備的控制,而在其他情況下,軟件工具可指示外圍設(shè)備管理工具如何分配對一組外圍設(shè)備的控制。在其他情況下,軟件工具可以不向外圍設(shè)備管理工具指示如何分配對外圍設(shè)備的控制,而是可標識對其的控制應(yīng)作為一組來分配的一組或多組外圍設(shè)備。
文檔編號G06F9/44GK102163147SQ201110040368
公開日2011年8月24日 申請日期2011年2月12日 優(yōu)先權(quán)日2010年2月12日
發(fā)明者I·斯奈德, J·克里西, J·斯里尼瓦桑, K·米特拉, M·F·柯尼格 申請人:微軟公司