CN102754074B - 基于规则来分配对计算设备的外围设备的控制 - Google Patents

基于规则来分配对计算设备的外围设备的控制 Download PDF

Info

Publication number
CN102754074B
CN102754074B CN2011800091202A CN201180009120A CN102754074B CN 102754074 B CN102754074 B CN 102754074B CN 2011800091202 A CN2011800091202 A CN 2011800091202A CN 201180009120 A CN201180009120 A CN 201180009120A CN 102754074 B CN102754074 B CN 102754074B
Authority
CN
China
Prior art keywords
peripherals
management point
hierarchy
computing equipment
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2011800091202A
Other languages
English (en)
Other versions
CN102754074A (zh
Inventor
J·克里西
C·D·尼科尔森
K·米特拉
R·C·埃尔默
K·巴拉特
J·斯里尼瓦桑
J·C·比弗斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102754074A publication Critical patent/CN102754074A/zh
Application granted granted Critical
Publication of CN102754074B publication Critical patent/CN102754074B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明描述的是用于确定如何分配对外围设备的控制以及分配对外围设备的控制的各种技术和原理。在某些实施例中,确定如何分配对外围设备的控制包括:查看外围设备到计算设备的连接,以及评估规则以便在连接中确定管理点。在某些情况下,可将外围设备到计算设备的连接组织成与外围设备的物理连接的分层结构相对应的分层结构,连接包括位于远离计算设备的以及可能通过另一计算设备连接的外围设备的物理连接。当在各连接之间标识出管理点时,可按相同方式来分配对与管理点相关联的外围设备的控制。例如,可将对外围设备中的每一个的访问权分配给相同的用户会话。

Description

基于规则来分配对计算设备的外围设备的控制
背景技术
计算设备,包括个人计算机,通常适用于一次由一个用户来操作。这一计算设备被配置成允许用户与连接到该计算机设备的所有外围设备,包括像显示器、键盘和鼠标这样的用户接口外围设备进行交互。当计算设备首次启动并检测到连接的外围设备时,或者当一外围设备新附连到计算设备时,该计算设备被配置成以相同的方式来管理这些外围设备中的每一个。计算设备可向该计算设备的所有用户或向当前正在操作该计算设备的用户提供对每一外围设备的访问。
在某些情况下,计算设备一次可由一个以上用户来操作。在某些这样的情况下,将个别外围设备的所有权或对个别外围设备的访问分配给特定用户可能是合乎需要的。可以这样做来使得不止一个用户不会同时尝试访问一外围设备,以便保护由每一用户存储在外围设备上的数据的私密性,或确保每一用户能够用一组完整的用户接口外围设备来与该计算设备交互(例如,使得每一用户具有显示器、键盘和鼠标)。因为计算设备没有不同地管理外围设备并向不同用户分配外围设备的功能,因此在这些情况下,用户或管理员将手动配置计算设备来向每一用户分配外围设备。为了分配外围设备,用户或管理员将检查该组可用外围设备并选择要分配给每一用户的外围设备,然后重新配置该计算设备来标识所选外围设备仅能被所标识的用户来访问和使用。
发明内容
用于将连接到计算设备的外围设备分配给不同用户的常规技术限于根据来自用户或管理员的直接输入来手动地执行这种分配。这一过程可能是耗时且困难的。另外,这一过程需要外围设备是如何由计算设备组织并管理的知识,以使得关于外围设备的信息可在设备上定位且外围设备可被分配。此外,这一过程必需在每次要分配外围设备时完成,包括当新外围设备被连接至该计算设备时。
文本描述了用于至少部分地基于外围设备到计算设备的物理连接来分配对外围设备的控制的各技术。在某些实施例中,以类似方式对连接至计算设备的外围设备的控制也以类似方式来分配。例如,当外围设备经由集线器连接至计算设备时,对连接至该集线器或稍后连接至该集线器的所有外围设备的控制可以按类似方式来分配,诸如被分配给相同用户会话。在各实施例中,可在外围设备到计算设备的物理连接已被标识且规则已被应用以标识管理点之后执行分配对外围设备的控制,在这些管理点处可作出与分配外围设备的控制有关的决定。当外围设备的物理互连被确定是分层结构的物理连接时,该分层结构中在管理点以下的所有外围设备可使得控制按相同方式来分配。
在一个实施例中,外围设备到计算设备的物理连接的分层结构是使用一个或多个规则来评估的,该一个或多个规则用于确定管理点在至计算设备的外围设备的物理连接的分层结构中的位置。在这一实施例中,规则可通过在分层结构中标识这样的点来标识管理点:在这些点之下是为用户会话形成终端组的外围设备。终端组可包括用户用来与诸如显示器、键盘和鼠标之类的计算机设备交互的最小设备集。当查看该分层结构时,多个终端组的多个管理点可被标识出。在标识出管理点之后,可类似地分配对分层结构中每一管理点以下的外围设备的控制。例如,可以向用户会话分配对管理点以下的所有外围设备的控制。
以上概述是对由所附权利要求定义的本发明的非限定性的概述。
附图说明
附图不旨在按比例绘制。在附图中,各个附图中示出的每一完全相同或近乎完全相同的组件由同样的附图标记来表示。出于简明的目的,不是每一个组件在每张附图中均被标号。在附图中:
图1是用于至少部分地基于管理点来分配对外围设备的控制的一个示例性过程的流程图;
图2是用于至少部分地基于管理点来分配对外围设备的控制的另一示例性过程的流程图,其中集线器被标识成管理点;
图3A和3B是用于分配对外围设备的控制的示例性技术的流程图;
图4是用于基于先前为外围设备标识出的管理点来分配对新连接至计算设备的外围设备的控制的一个示例性过程的流程图;
图5是用于至少部分地基于外围设备的类型来分配对外围设备的控制的一个示例性过程的流程图;
图6是用于至少部分地基于虚拟集线器来分配对外围设备的控制的一个示例性过程的流程图;
图7是在分层结构中多个管理点已被标识出的情况下分配对外围设备的控制的一个示例性过程的流程图;
图8是某些实施例可在其中操作的示例性计算机系统的框图;
图9是示出用于将外围设备连接到计算设备的可能方式的示例性计算机系统的框图;
图10是某些实施例中可由计算设备创建并管理的外围设备的示例性分层结构的图示;
图11(包括图11A和11B)是用于基于规则来标识管理点的一个示例性过程的流程图;以及
图12是某些实施例可与其一起操作的一个示例性计算设备的框图。
具体实施方式
当外围设备连接到计算设备时,使用常规的技术,可以使该外围设备对该计算设备的所有用户可用,而该外围设备的所有权或对该外围设备的访问不被分配到任何特定用户或用户会话。这一惯例会在计算设备中引入问题。例如,会引发安全问题,如当外围设备是存储敏感信息的存储设备的时候,其中该敏感信息应只由拥有该存储设备的用户来访问。当外围设备不被分配给特定用户时,其他用户可能访问该外围设备,这可损害该敏感信息。作为另一示例,可引发访问问题,如(再次使用上述示例,当外围设备是存储设备的时候)用户假定该用户对该存储设备具有独占访问且基于该假设来执行某种工作,而稍后发现另一用户按照使该用户的工作变复杂的方式访问并操纵了存储设备上的数据。
将对外围设备的控制分配给特定用户或用户会话可补救这些问题中的某一些。然而,使用常规技术,为将外围设备分配给用户或用户会话,用户或管理员将必须通过提供显式输入在操作系统中手动作出低级改变。这一过程不仅需要特定操作系统如何以及在何处存储关于外围设备的信息的知识,而且还需要关于用户会话以及如何将对外围设备的控制分配给用户会话的知识。即使是在用户具有所需知识的情况下,这一手动过程也是强度很大的。
当外围设备连接至多个用户所使用的计算设备时,通常用户所连接的每一外围设备可按类似的方式物理上连接至计算设备。例如,用户所连接的外围设备可连接至计算设备上与计算设备在物理上接近的端口。作为另一示例,外部集线器可用于将外围设备连接至计算设备,以便增加多个可用端口,且用户所连接的外围设备可连接至特定集线器的端口。
通过检测外围设备到计算设备的物理连接,可标识出特定用户曾连接的以及该特定用户想要使用的外围设备。这可通过标识相似连接的外围设备来完成。相似连接的外围设备可能是由同一用户可能连接的。因此,可通过查看外围设备到计算设备的连接以标识相似连接的外围设备,来完成分配对计算设备的外围设备的控制。
本文描述的是用于确定如何分配对外围设备的控制以及分配对外围设备的控制的各种技术和原理。在某些实施例中,确定如何分配对外围设备的控制包括:查看外围设备到计算设备的连接,以及评估规则以便在连接中确定管理点。在某些情况下,可将外围设备到计算设备的连接组织成与外围设备的物理连接的分层结构对应的分层结构。当在各连接之间标识出管理点时,可按相同方式来分配对与管理点相关联的外围设备的控制。例如,可将对外围设备中的每一个的访问权分配给相同用户会话。
如此处所使用的,外围设备是可经由任何合适的有线和/或无线通信总线附连到计算设备的电子设备。可在各实施例中使用的总线的示例包括USB1.1/2.0/3.0、PS/2、蓝牙、红外线以及火线,但其他示例是可能的。
外围设备可以在物理上与计算设备分开,并且装入与计算设备分开的外壳中,或者可以在物理上附连到计算设备并装入相同的外壳中。在各实施例可与其一起操作的某些有线和/或无线通信总线中,外围设备可以连接到指向和/或连接到分层结构中的计算设备的计算设备。该分层结构可允许某些外围设备经由其他外围设备或其他设备来间接地连接至计算设备。在某些实施例中,外围设备可经由集线器来连接,集线器允许多个外围设备经由单个点来连接到计算设备。多个集线器可在某些情况下被使用,且可出现在分层结构中的多个点处。在某些情况下,集线器可被合并到外围设备中而非与外围设备分离。例如,键盘可被连接到计算设备,并且可在键盘的外壳中包括允许另一设备连接到该键盘的端口。
如上面讨论的,在某些实施例中,管理点可用于分配对外围设备的控制。管理点可以是在那里可将策略应用于外围设备集的任何点。在这一情况下,策略可以是分配对外围设备的控制,且由此管理点可以是在那里可标识出一个或多个外围设备并且可按类似方式来分配对那些外围设备的控制的任何点。可通过使用一个或多个规则对外围设备到计算设备的连接进行评估,来标识管理点。规则可按任何合适的方式与外围设备的物理连接相关。在某些情况下,规则可将管理点标识成一组相似连接的外围设备。在其他情况下,规则可指定分层结构中的中间节点是管理点。在其他情况下,分层结构中的中间节点可被确定为合格的管理点,并且其他规则可被评估以确定合格的节点是否是管理点,诸如通过评估分层结构中连接在该节点以下的外围设备。在某些情况下,可对分层结构中连接在节点以下的外围设备进行评估,以确定特定外围设备是否在该节点以下。
在各实施例中,可将对外围设备的控制分配给用户或用户会话。计算设备的用户可以是在计算设备上创建的且个人用来访问并操作计算设备的账户或简档。当用户登录到计算设备或正在操作计算设备时,可为该用户创建在该用户登录或操作该计算设备时持续的用户会话。用户会话可为用户提供操作系统环境的唯一实例,包括各种系统资源的唯一实例。用户在用户会话内执行的处理可从其他用户和其他用户会话中划分,但用户能够在会话之间通信。
在各实施例中,对外围设备的控制可被分配给一个或多个用户和/或一个或多个用户会话。为便于描述,在以下描述的各示例性实施例中,外围设备可被描述为被分配给一个用户。然而,各实施例不限于将外围设备分配给单个用户或多个用户。例如,如下文结合图5所描述的,可将像打印机之类的外围设备分配给多个不同的用户。另选地,控制可按任何其他方式来分配,因为各实施例不限于该方面。
对外围设备的控制可用任何合适的方式来分配。分配方式可以在各实施例中基于计算设备如何管理外围设备和访问权限来变化。对外围设备的控制的分配可以包括分配外围设备的所有权。在某些实施例中,分配外围设备的所有权可以包括将所有访问权和/或管理权限分配给用户(或用户会话)。对外围设备的控制的分配可另选地包括分配所有或部分访问权限。访问权限可包括以指定方式使用外围设备的权限,如读访问或写访问,而管理权限可包括更改外围设备的权限,如更改外围设备的软件或设置或断开外围设备。各实施例不限于进行任何特定类型的控制分配。另外,分配对外围设备的控制可包括分配对外围设备的各部分的控制,如对外围设备的一个基于时间的或物理部分的控制以一种方式分配,而对外围设备的另一基于时间的或物理部分的控制以另一种方式分配。例如,显示屏幕的不同部分可被分配来供不同用户会话使用。
在某些实施例中,对外围设备的控制可另外基于从软件工具接收到的指令来分配。在某些这样的实施例中,当外围设备被连接时,可在规则被评估之前首先执行查询,以确定是否将从软件工具中接收与如何分配对该外围设备的控制有关的指令。从软件工具中接收这样的指令的某些实施例可使用以下申请中描述的技术:2010年2月12日提交的题为“Assigning interface devices to terminalgroups(向终端组分配接口设备)”的第61/304,039号美国临时专利申请(“‘039申请”)、以及2010年6月17日提交的题为“Assignment of control of peripheralsof a computing device(分配对计算设备的外围设备的控制)”的第12/817,766号美国非临时专利申请,并且要求“‘039申请”(“‘766申请”)的优先权,这两个申请的全部内容通过引用并且至少出于其对基于从软件工具中接收到的指令来分配对外围设备的控制的讨论而结合于此。
下文描述了允许基于评估外围设备到计算设备的连接来分配对外围设备的控制的系统的各种示例性实施例。以下描述的各实施例仅是某些实施例可用以操作的方式的说明。各实施例不限于根据以下描述的示例性技术来操作。
图1示出可在某些实施例中执行、用于基于对规则的评估来分配对外围设备的控制的一个示例性过程。各实施例不限于执行图1所示的过程100,其他过程也是可能的。
在开始过程100之前,一个或多个外围设备可能已经连接到计算设备。外围设备在计算设备开启之前、计算设备正在操作时、或在任何其他时间可能已被连接。外围设备可按任何合适的方式连接到计算设备,包括通过直接连接到计算设备(例如经由外围设备与计算设备的物理端口之间直接连接的电缆、或经由外围设备与计算设备的接收机之间的单个无线传输)或间接连接到计算设备。外围设备可经由诸如另一外围设备或集线器之类的另一设备来间接连接。
当外围设备被连接时,计算设备上的设备管理工具可查看连接到计算设备的外围设备,并且基于该查看来创建连接到计算设备的外围设备的有组织的列表,该列表标识外围设备到计算设备的连接的拓扑结构。这一有组织的列表可根据外围设备如何连接到计算设备来组织,包括通过根据外围设备连接到哪一总线来组织、以及通过根据外围设备在该总线上连接到计算设备的方式来组织。在外围设备是分层连接的某些情况下,设备管理工具可创建示出外围设备到计算设备的连接的分层结构。以此方式,有组织的外围设备列表的拓扑结构可能具有与外围设备到计算设备的连接的拓扑结构类似的拓扑结构。
另外地,如上所述,在过程100开始以及评估规则之前,在某些实施例中可从与分配对外围设备的控制有关的软件工具中接收一个或多个指令,如在上文引用的‘039和‘766申请中讨论的。因此,在过程100开始之前,可能已经分配了对某些外围设备的控制。
过程100在框102中开始,其中在外围设备管理工具处接收指示要如何标识外围设备的管理点的规则。规则可按任何合适的格式来接收,以便由分配对外围设备的控制的外围设备管理工具来评估。另外地,可按任何合适的方式从任何合适的源接收规则。各实施例不限于这些方面。
在某些实施例中,在框102中接收规则可包括在计算设备处经由计算设备的接口从输入规则的用户或管理员接收规则。在其他实施例中,规则可作为在计算设备处接收到的策略的一部分来接收。在计算设备处接收到的策略可以是任何合适的策略,包括由网络指定的且在计算设备连接到网络时提供给计算设备的策略。
在框102中接收到的规则可以是用于评估连接到计算设备的外围设备的有组织的列表以便标识要用于分配对外围设备的控制的一个或多个管理点的任何规则。一特定的规则集合在下文结合图11来讨论,尽管该集合只是可使用的该类型的规则的一个示例。在某些实施例中,在框102中接收到的规则可以是用于评估有组织的列表以便在有组织的列表中标识各模式的规则。在这样的实施例中,随后可基于该模式来标识管理点。例如,规则可用于评估有组织的列表以便标识相似地连接到计算设备的外围设备。在某些这样的情况下:其中有组织的列表按与外围设备的连接的分层拓扑结构相匹配的分层结构来组织,则当规则被评估时,规则可标识该分层结构的中间节点可能是管理点。在这一情况下,规则可另外地或另选地指定:分层结构的、具有在分层结构中管理节点以下的特定的外围设备集的中间节点是管理点。但是,各实施例不限于按任何特定方式来评估有组织的列表、或按任何特定方式来确定外围设备的连接模式。各实施例不限于评估规则或各类型的规则的任何特定集合。
不管在框102中如何接收规则或在框104中规则是什么,外围设备到计算设备的连接的有组织的列表都是使用在框102中接收到的规则来评估的。评估有组织的列表可按任何合适的方式来执行,且可取决于在框102中接收到什么规则以及要使用那些规则来标识管理点的方式。例如,在某些实现中,分层拓扑结构可通过如下方式来查看:选择最底端节点(例如分层结构中的外围设备)、以及评估该节点以上的各节点来标识潜在的管理点,而在其他实现中,可执行自顶向下的方法来评估。在某些情况下,潜在的管理点可通过评估有组织的列表来标识,且稍后在对有组织的节点进行的同一评估期间可能基于对其他节点或其他规则的评估而被确定为不是潜在的管理点。
不管在框104中如何进行评估,在框106中基于在评估有组织的列表中作出的确定来标识管理点集。
在框108中,至少部分地基于在框106中标识出的管理点来分配对外围设备的控制。在某些实现中,可能已经基于外围设备的连接模式标识出管理点。在某些实现中,每一管理点由此可与被标识成与一组与模式相匹配的一个或多个外围设备相关。例如,在外围设备按分层拓扑结构连接到计算设备的情况下,有组织的列表具有与分层拓扑结构成镜像的分层结构,在框102中接收并在框104中评估的规则可将管理点标识成有组织的列表中的每一中间节点,每一中间节点具有在分层结构中该节点以下的特定的外围设备集。随后可将这样的中间节点以下的外围设备标识成与管理节点有关。在框108中,当基于管理点来分配对外围设备的控制时,对与特定管理点有关的每一外围设备的控制可使控制按类似方式来分配。例如,与管理点有关的所有外围设备可能使控制分配给特定用户或分配给特定用户会话,如下文进一步讨论的。但是,各实施例不限于按任何特定的方式来分配对各外围设备的控制。
在向特定用户或用户会话分配对外围设备的控制的各实施例中,可按任何合适的方式来标识向其分配控制的用户或用户会话。例如,如上文讨论的,在某些实施例中对外围设备的控制可在执行过程100之前基于从软件工具接收到的指令来分配。在这样的实施例中,当已经按某种方式分配了对与管理点有关的一个或多个外围设备的控制时,在框108中与该管理点有关的所有其他外围设备可使控制按相同方式来分配。以此方式,如果基于从软件工具接收到的指令已经把对外围设备的控制分配给用户会话,则与相同管理点有关的所有其他外围设备可使控制分配给相同用户会话。作为另一示例,来自用户或用户会话的输入可经由一个或多个外围设备来接收。随后可将对与从其中接收输入的外围设备相同的管理点有关的外围设备的控制分配给输入所接收自的用户或用户会话。
一旦在框108分配了对外围设备的控制,过程100结束。作为过程100的结果,对外围设备的控制被分配给特定用户或用户会话,使得这些外围设备只可由未向其分配控制的用户或用户会话来访问或使用。此外,如下文结合图4更详细地讨论的,当用户连接新外围设备时,当该外围设备由设备管理工具添加到有组织的列表时,对该外围设备的控制可按与同管理点有关的其他外围设备相同的方式来分配。但是,在某些情况下,取决于在框102中接收到的规则,添加特定外围设备或特定类型的外围设备可使得先前在过程100期间标识出的管理点打破在框102中接收到的一个或多个规则,并且意味着先前标识出的管理点可能不再是管理点。在这样的情况下,可重复过程100以便基于新的有组织的列表以及外围设备的连接的新拓扑结构来标识新管理点。
在执行过程100的各实施例中,对外围设备的控制可自动地基于对规则的评估来分配,而不是如常规技术中依赖于每一外围设备的显式用户输入。在这样的实施例中,分配对外围设备的控制执行起来可以快得多且容易得多。
图2示出了用于在外围设备到计算设备的连接的有组织的列表中标识管理点的一个特定过程。图2的示例示出可以用特定的规则集以及特定的连接集来执行的过程。各实施例不限于用这些规则和这些连接来操作,且各实施例不限于执行图2中所示的示例性过程。
在执行过程200之前,一个或多个外围设备在任何合适的时间被连接到计算设备。这些外围设备中的至少两个不是直接连接到计算设备,而是经由一个或多个聚集点来连接。如此处使用的,聚集点是这样的设备:该设备通过在聚集点处提供藉此可连接外围设备的多个端口、以及将通过那些多个端口接收到的信息经由计算设备的单个端口传送给计算设备,来允许多个外围设备经由计算设备的单个端口来连接到计算设备。一种类型的聚集点是集线器。集线器连接到单个端口,并且集线器具有外围设备可通过其连接到集线器的多个端口。USB集线器是可担当聚集点的集线器的一个示例。以此方式,通过增加端口的数据可以增加能够连接到计算设备的多个外围设备。
当诸如集线器之类的聚集点结合计算设备来使用时,用户可将特定聚集点标识成用户正在使用的聚集点,并且经由聚集点来连接用户期望使用的所有外围设备。在有多个用户和多个聚集点的情况下,每一用户可将聚集点标识成他/她的聚集点。由此,应当将经由相同聚集点来连接的所有外围设备分配给相同用户或用户会话。由过程200评估的规则被设计成标识聚集点,以便标识对其的控制应被分配在一起的各外围设备。
过程200在框202中开始,其中接收与要如何标识聚集点有关的规则。规则可按任何合适的方式来标识。例如,规则可通过标识在外围设备到计算设备的连接的分层拓扑结构中的中间节点来标识聚集点。在这一示例中,要标识的中间节点可以是该分层结构中在其之下是一个或多个外围设备的任何节点。但是,如上所述,可使用任何合适的规则集,包括用于标识聚集点的任何合适的规则集。
在框204中,外围设备的有组织的列表是用在框202中接收到的规则来评估的。作为评估的结果,在框206中标识管理点集,其中每一管理点都是聚集点(例如集线器)。在框208中,基于管理点来分配外围设备的控制。在框208,以类似方式来分配对分层结构中特定管理点以下的外围设备中的每一个的控制——它们是连接到特定聚集点(例如集线器)的外围设备中的每一个。例如,对分层结构中特定管理点以下的所有外围设备的控制被分配给相同用户或相同用户会话。一旦在框208分配了控制,过程200结束。
如上文讨论的,对外围设备的控制可按任何合适的方式来分配,并且可以分配任何合适的类型的控制。图3A和3B示出可为要分配的示例性类型的控制来执行的示例性过程。各实施例不限于实现图3A和3B所示的示例性过程,各实施例也不限于与用于结合这些过程所讨论的示例性类型的控制一起操作。
图3A示出了用于通过将外围设备的所有权分配给计算设备的用户来分配对外围设备的控制的过程300。过程300在框302中开始,其中外围设备管理工具标识要分配对外围设备的控制。外围设备管理工具可被配置成通过将外围设备的所有权分配给特定用户来分配控制。分配外围设备的所有权向该用户授予用于使用外围设备的所有访问权限以及用于管理外围设备的权限。访问外围设备可包括从外围设备读取数据、向外围设备写入数据、操作外围设备来执行某一任务、或任何其他的与外围设备交互的方式。管理外围设备可包括断开外围设备、改变用于外围设备的驱动程序、将对外围设备的访问授予其他方、以及其他配置外围设备的方式和外围设备与计算设备交互的方式。在框304,通过更新与外围设备相关联的计算设备的记录来标识该外围设备的所有权已被分配给用户,来将外围设备的所有权分配给用户。一旦在框304中更新了记录,则过程300结束,且向其分配所有权的用户将能够访问和/或管理该外围设备。
图3B示出了用于通过将对外围设备的访问权限分配给计算设备的用户会话来分配对外围设备的控制的过程320。所分配的访问权限可包括从外围设备读取数据的权限、向外围设备写入数据的权限、和/或使用外围设备来执行指定任务的权限。在框322中,外围设备管理工具标识对要分配的外围设备的控制。外围设备管理工具可被配置成通过将访问权限分配给用户会话来分配控制。在框324,通过更新与外围设备相关联的计算设备的记录来分配对外围设备的访问权限。一旦在框324中更新了记录,则过程320结束,且操作指定用户会话的用户将能够以指定方式访问该外围设备。
尽管图3B和3B被单独示出并描述为替换过程,但在某些实施例中,这些过程可一起使用。例如,可以向一个特定用户分配外围设备的直接所有权,并且可以向所有或指定的用户会话提供对外围设备的访问权限。
另外,尽管图3A被描述成将外围设备的所有权分配给用户,而图3B被描述成向外围设备分配访问权,但各实施例不限于精确地以此方式来分配权限控制。在某些实施例中,例如,可将所有权分配给用户会话和/或可向用户分配访问权限。另外地,可分配其他类型的控制。各实施例不限于分配任何特定类型的控制或以任何特定方式来分配控制。
上述过程100包括了用于通过在外围设备到计算设备的连接的拓扑结构中标识管理点来分配对已经连接到计算设备的外围设备的控制的技术。图4示出可用于在标识出管理点之后分配对新连接到计算设备的外围设备的控制的一个过程。实现用于基于先前标识的管理点来分配对新外围设备的控制的过程的各实施例不限于实现图4中示出的过程,因为其他过程也是可能的。
在开始过程400之前,可能已经执行了过程(例如图1的过程100)用于评估各计算设备到计算设备的连接以标识管理点。作为这一先前执行的过程的结果,可能已经标识了一个或多个管理点以分配对外围设备的控制。当外围设备被标识出时,可能已经存储了对管理点的标识。对管理点的标识可结合由设备管理工具创建的外围设备的连接的有组织的列表来存储,或者可能已经按任何其他合适的方式被存储。
过程400在框402中开始,其中外围设备管理工具检测到新外围设备已经连接到计算设备。新外围设备可按任何合适的方式来检测,诸如在外围设备管理工具从计算设备的操作系统的组件接收通知时、从外围设备的驱动程序接收通知时、或按任何其他合适的方式接收通知时。
当新外围设备连接到计算设备时,设备管理工具可将新外围设备添加到外围设备的有组织的列表。因此,对有组织的列表的查看可标识外围设备连接到计算设备的方式。
在框404中,检索先前为有组织的列表标识出的管理点,以及在框406中,标识与新外围设备有关的管理点。与新外围设备有关的管理点可以是基于新外围设备到计算设备的物理连接所标识的管理点。例如,如果每一管理点都对应于一聚集点(例如集线器),则与新外围设备有关的管理点可以是与新外围设备连接到的聚集点有关的管理点。
在框408中,查看通过其来最初标识管理点的规则以确定新外围设备的连接是否打破规则中的一个或多个。如果规则中的一个或多个被打破,则先前标识的管理点可能不再是管理点。因此,在框408中,查看规则,并且如果在框410中确定规则的一个或多个被打破,则在框412中作出再次查看有组织的列表的确定,并且确定新的管理点。再次查看有组织的列表并确定新管理点可按任何合适的方式来执行,诸如通过再次执行先前用于标识管理点的过程(例如图1的过程100)。作为再次查看有组织的列表的一部分,可分配对新外围设备的控制。
然而,如果在框410中确定添加新外围设备没有打破规则,则在框414中对新外围设备的控制按与同管理点相关的其他先前连接的外围设备类似的方式来分配。
一旦在框412或者414中分配了对新外围设备的控制,则过程400结束。
在某些情况下,在框406可能不标识新外围设备的管理点,因为该外围设备的连接可能不与先前标识的管理点相对应。在某些这样的情况下,可通过评估规则,诸如通过执行如图1-2的过程100或200之类的过程来标识外围设备的新管理点。然而,如果标识出新管理点,则可以评估新管理点以确定新管理点是否打破了规则中的任一个,如上文结合框408-410所讨论的。
在上文讨论的各示例中的每一个,对与管理点有关的所有外围设备的控制是按相同方式来分配的。然而,各实施例不限于按相同方式来分配对管理点的所有外围设备的控制,各实施例也不限于按任何其他特定方式来分配对外围设备的控制。图5示出可在某些实施例中执行、用于基于一种类型的外围设备来分配对外围设备的控制的一个过程。
某些外围设备可被分类成以下两类中的一类:用户想要由一个用户使用的外围设备(这里被称为“私有”外围设备)、以及用户想要共享的外围设备。诸如闪存驱动程序之类的个人存储设备可以是私有外围设备,如正在使用闪存驱动程序的用户可能想要该闪存驱动程序仅由该用户来操作。接口设备(例如,监视器、键盘、鼠标)、相机和扫描仪在某些情况下也可以是私有外围设备。然而,用户可能想要在用户之间共享打印机,且由此打印机可以是公共设备。
在某些实施例中,图5的过程500可用于除了与外围设备的管理点以外基于该外围设备的类型来分配对外围设备的控制。
过程500在框502中开始,其中接收对公共和私有外围设备的指定。该指定可按任何合适的方式来接收,包括通过经由计算设备的接口直接从用户或管理员接收、或按任何合适的方式(例如经由网络)来接收作为在计算设备处接收的策略。
在框504中,作出要分配对外围设备的控制的确定。框504的确定可按任何合适的方式来作出,包括在上述过程100和400中的一个过程期间。在框506中,基于在框502中接收到的指定,作出关于要分配对其的控制的外围设备是公共外围设备还是私有外围设备的确定。如果该围设备被确定为公共外围设备,则在框508中将对外围设备的控制分配给多个用户,而不管对相似地连接的其他外围设备的控制是如何分配的。例如,在框508中,将外围设备的访问权分配给多个用户。然而,在框506中如果外围设备被确定为私有外围设备,则在框510中可基于管理点以及对相似地连接的其他外围设备的控制是如何分配的,来分配对外围设备的控制。
一旦在框508和510之一中分配了对外围设备的控制,则过程500结束。
尽管过程500描述了基于外围设备是否为两种类型的外围设备之一来分配控制,但应当理解这些类型和这一数量的类型只是示例性的。各实施例不限于确定外围设备是否为任何特定类型或使用任何特定类型的外围设备。各实施例可确定外围设备是否为任何特定类型的外围设备、以及基于任何特定类型的外围设备来分配对该外围设备的控制。
在上述实施例中,作出关于外围设备到计算设备的连接的确定,并且在各示例中讨论外围设备的物理连接。然而,外围设备不限于物理地连接到计算设备。在某些情况下,外围设备可物理地连接到第二计算设备,并且由外围设备接收到或生成的数据可从第二计算设备被发送到该计算设备、或可经由第二计算设备由该计算设备发送到外围设备。
设备可通过使用虚拟集线器来虚拟地连接(即,连接到一个计算设备但与另一计算设备交互)。可将虚拟集线器连接到第一计算设备上的外围设备的有组织的列表中,从而标识外围设备远离第一计算设备且被连接到远程计算设备。在第一计算设备上,虚拟集线器可从远程计算设备接收数据而不是直接从外围设备接收数据,并且虚拟集线器在第一计算设备上可将信息传递给已向其分配对虚拟外围设备的控制的特定用户或用户会话。从远程计算设备接收到的数据可以是当用户操作外围设备时由这些外围设备在远程计算设备上生成的数据。以此方式,远程计算设备上的用户或用户会话可使用该远程计算设备上的外围设备来与第一计算设备交互。
图6示出用于使用外围设备未连接的计算设备上的虚拟集线器来分配对外围设备的控制的一个过程。分配对虚拟外围设备的控制的各实施例不限于实现图6中所示的示例性过程。应当理解,图6的过程与用于基于物理聚集点来标识管理点的上述过程基本类似。在某些实施例中,用于标识管理点的过程可基于聚集点来标识管理点,而不管那些管理点是物理的还是虚拟的,使得只有单个过程可被使用。
过程600在框602中开始,其中在计算设备上定义虚拟集线器。在框602中可按任何合适的方式来定义虚拟集线器,包括通过编辑由设备管理工具维护的外围设备的有组织的列表。编辑有组织的列表可按任何合适的方式来执行,包括通过由用户或管理员直接编辑、或使用软件工具来编辑。当定义虚拟集线器时,可将与虚拟集线器有关的信息添加到有组织的列表中。当定义虚拟集线器时,可以定义一个或多个虚拟外围设备,该一个或多个虚拟外围设备是连接到其他计算设备但将与这一计算设备通信的外围设备。可将虚拟外围设备定义成经由虚拟集线器连接到计算设备,从而在有组织的列表中形成虚拟拓扑结构。
在框604中,评估用于标识管理点的一个或多个规则,并且查看外围设备的有组织的列表,以便标识出管理点。可通过任何合适的方式执行框604的评估,包括通过上文讨论的示例性技术中的任一种。在框606中,标识一个或多个管理点。在框606中,可将添加到有组织的列表中的虚拟集线器标识成管理点。可将虚拟集线器标识成管理点,以便符合被定义成管理点的要求。由于虚拟集线器按这样的方式来定义以便符合规则且被定义成管理点,因此虚拟集线器可符合规则,由于规则指定所有虚拟集线器将被定义成管理点,因此虚拟集线器可符合规则,或可通过任何其他方式来符合规则。不管规则是什么,在框606中将虚拟集线器定义成管理点。
在框608中,一旦将虚拟集线器定义成管理点,则可按类似方式来分配对经由虚拟集线器连接的虚拟外围设备中的每一个的控制,诸如通过将该控制分配给相同用户或用户会话。
一旦在框608分配了对外围设备的控制,过程600结束。接着过程600,向其分配了虚拟外围设备的用户或用户会话将能够与使用连接到其他计算设备的外围设备的计算设备进行交互,或者可能能够与来自在其上定义了虚拟集线器的计算设备的连接到其他计算设备的外围设备进行交互。
在上述各种示例中,一旦定义了管理点,对与管理点相关联的所有外围设备的控制就按相同方式来分配。在外围设备按分层拓扑结构来连接的情况下,对该分层结构中管理点以下的所有外围设备的控制是按相同方式来分配的,诸如分配给相同用户或用户会话。但是在某些实施例中可按分层结构来标识管理点,使得可将一个管理点标识成在该分层结构中另一管理点以下的节点。例如,这可能是集线器经由另一集线器连接到计算设备的情况。集线器的这一连接被称为集线器的“菊花链”。在可将管理点标识成在该分层结构中另一管理点以下的实施例中,并非最顶部管理点以下的所有外围设备都使控制按相同方式来分配。相反,在第一管理点以下且不在第二管理点以下的所有外围设备都可使控制按相同方式(例如分配给第一用户)来分配,而第二管理点以下的外围设备可使控制按不同方式(例如分配给第二用户)来分配。
图7示出在准许标识在分层结构中的其他管理点以上和/或以下的管理点的各实施例中、一种用于分配对外围设备的控制的技术。准许以此方式来标识管理点的各实施例不限于实现图7中示出的过程,因为其他过程也是可能的。
过程700在框702中开始,其中基于对规则的评估来标识管理点。在框702中标识出的管理点可包括在外围设备的有组织的列表的分层结构中位于彼此之上和/或之下的至少两个管理点。
在框704中,选择管理点用于分配对外围设备的控制。在框706中,选择在框704中所选的管理点以下的外围设备。在框708中,作出关于在框704中所选的管理点以下的外围设备是否也在另一管理点以下的确定,该另一管理点在分层结构中从属于框704中所选的管理点。换言之,在框708中作出关于外围设备是否在两个或更多管理点以下的确定。如果所选外围设备没有在从属于框704中所选的管理点的另一管理点以下,则在框710中分配控制。然而,如果在框708中确定外围设备在从属的另一管理点以下,则不分配对外围设备的控制。
一旦在框710分配了对外围设备的控制或确定将不分配控制,则在框712中作出关于更多外围设备是否在框704中所选的管理点以下的确定。如果是,则过程700返回框706,并且选择另一外围设备。如果否,则过程700继续至框714,在那里作出关于是否存在其他管理点的确定。如果存在其他管理点,则过程700继续至框704,并且选择另一管理点。可以选择的其他管理点包括从属于先前选择的管理点的管理点。例如,如果在框708中确定外围设备从属于另一管理点并且没有分配控制,则可在稍后时间选择该其他管理点,并且当选择其他管理点时可分配对相同外围设备的控制。
如果在框714中确定不存在其他管理点,则过程700结束。
如上所讨论的,各实施例不限于与特定计算设备、外围设备、软件工具或控制类型一起工作。以下描述的是某些实施例可在其中操作的一个示例性环境。然而,各实施例不限于实现结合本示例性实施例描述的技术中的任一种,以也不限于与结合本实施例描述的示例性类型的设备和外围设备的任一种一起操作。
图8示出了包括计算设备800的一个示例性计算机系统802。计算设备802可适用于由多个用户同时操作并同时与多个用户中的每一个交互。为使每一用户能够与计算设备802交互,与用户相关联的每一用户会话可以与一终端组804相关联。每一终端组804包括作为用户可用于与计算设备802交互的接口设备的外围设备,包括向计算设备802提供数据的输入设备804A和/或从计算设备802读取数据的输出设备804B。每一终端组的外围设备可包括任何合适数量和类型的外围设备,包括显示器、键盘和鼠标,以及任何其他类型的外围设备(例如,存储设备)。图8示出了七个终端组,但应当理解,各实施例可以与任何合适数量的用户和任何合适数量的终端组一起操作。
在每一终端组内,外围设备可按任何合适的方式连接到计算设备802。在某些情况下,各个外围设备可直接连接到计算设备802的端口。在其他情况下,多个外围设备可经由集线器连接到计算设备的一个端口,该集线器具有连接到每一外围设备的多个输入端口和连接到计算设备802的一个输出端口。在某些情况下,终端组的某些外围设备可以直接连接到计算设备802,其他则经由集线器来连接。
图9示出了终端组的外围设备到计算设备802的示例性连接。在终端组910中,显示器913诸如经由计算设备802的视频输出端口直接连接到计算设备802。键盘915和鼠标917经由集线器911间接连接到计算设备802。键盘915和鼠标917可以是被设计成经由通用串行总线(USB)连接到计算设备802的外围设备,且集线器911可以是具有连接到键盘915和鼠标917的两个或更多输入端口且具有连接到计算设备802上的USB端口的一个输出端口的USB集线器。集线器用于在计算设备802和外围设备915、917以及连接到集线器911的任何其他外围设备之间来回传递数据。
终端组920示出了略微不同的安排,其中终端组920的显示器923(以及键盘925和鼠标927)经由集线器921连接到计算设备802。终端组930示出了类似于终端组910的配置,其中显示器933直接连接到计算设备802,而键盘935和鼠标937经由集线器931连接。
终端组940示出了类似于终端组920的安排,其中显示器943、键盘945和鼠标947经由集线器941连接到远程计算设备904。远程计算设备904经由计算机通信网络902连接到计算设备802。外围设备943、945、947可与计算设备802通信,并且可根据在计算设备802上定义的虚拟集线器941A来管理。远程计算设备904可能正使用通信协议将经由键盘945和鼠标947所输入的数据经由网络902传递到计算设备802,并且将由计算设备802生成的图形数据传递到显示器943。可使用任何合适的通信协议,包括终端服务协议或微软
Figure BDA00001997182400181
远程桌面协议(RDP),来沿着任何合适的有线和/或无线通信网络,包括局域网(LAN)和/或因特网传递数据。
计算设备802可被配置成检测经由计算设备802的端口和通信总线连接到计算设备802的外围设备,并确定计算设备的物理连接。图10示出了连接到计算设备802的外围设备的一个示例性分层结构1000。计算设备802包括处理通过计算设备802的USB总线发送或接收的所有数据的USB根集线器1002、以及处理由计算设备802生成来显示给用户的所有图形数据的图形卡1018,以及其他硬件。如图10的示例中所示,计算设备802检测到USB集线器1004和USB集线器1014连接到USB根集线器1002。连接到集线器1004的是包括显示器1006、复合设备1008和接口设备1010和1012在内的外围设备。连接到集线器1014的是显示设备1016和USB复合设备。计算设备还检测到连接到图形卡1018的是显示器1020、1022、1024和1026。
当外围设备被附连到计算设备802时,作出关于要向哪一终端组(以及向哪一用户会话)分配对外围设备的控制的确定。这一过程可用于创建终端组或向现有终端组添加外围设备。
图11(包括图11A和11B)示出可用于通过查看诸如图10中示出的分层结构之类的分层结构来分配对外围设备的控制以便标识管理点的一个过程。图11的过程应用特定规则来按特定方式标识管理点。各实施例不限于应用这些或任何其他特定规则,并且各实施例不限于实现图11中所示的过程。
过程1100在框1102中开始,其中接收与输入外围设备有关的数据。可接收与任何合适的输入外围设备有关的数据,包括例如来自键盘或计算机鼠标的数据。所接收的数据可以是从外围设备接收的,并且可能已经由外围设备生成,诸如通过响应于用户动作来生成,或可能已经由外围设备连接到的计算设备的任何合适的工具(例如外围设备的驱动程序)生成。数据在例如输入外围设备首次连接到计算设备时可由工具来生成。不管数据的源是什么,在框1002中接收数据是将对输入外围设备的控制分配给用户会话的触发,使得能在外围设备连接到的计算设备上正确地处理数据。
在框1104中,检索与外围设备到计算设备的连接有关的信息。在框1104中检索到的信息可包括连接到计算设备的外围设备的有组织的列表,该列表可具有与外围设备到计算设备的连接的分层拓扑结构相匹配的分层结构组织。在框1104中检索到的有组织的列表可类似于图10中示出的有组织的列表。
基于在框1104中检索到的信息,在框1106中标识输入外围设备(在框1102中从其中接收输入)的分层结构位置,并且在分析分层结构中将这一位置在分层结构中设置成“当前节点”以标识外围设备的管理点。
对外围设备的管理点的标识可在框1108中开始,其中作出关于当前节点在分层结构中是否具有父节点的确定。如果对于当前节点不存在父节点,则对外围设备没有管理点可被标识,并且可在框1110中输出(例如到用户或到日志)指示这一情况的出错消息。如果对于当前节点不存在父节点,则在框1112中,将当前节点的父节点选作当前节点(即“当前节点”被改变)。
在框1114-1120中,当前节点可使用一个或多个规则来评估,以确定当前节点在该规则下作为管理点是否合格。在框1114-1120中评估的规则只是可应用的该类规则的示例,因为在各实施例中可使用任何合适的规则和任何合适的准则。
在框1114中,作出关于当前节点是否是允许成为管理点的一类节点的确定。在图11的示例中,仅准许物理或虚拟集线器成为管理点。因此,在框1114中,可作出关于当前节点是物理集线器还是虚拟集线器的确定。如果否,则过程100继续至框1108,以确定对于当前节点是否存在父节点。
然而,如果当前节点是物理或虚拟节点,则过程1100继续至框1116以便确定当前节点是否是先前标识的管理点的从属节点。在图11的示例中,在通过分层结构的每一路径中仅准许一个管理点,并且因此没有管理点可彼此从属。但是,在其他实施例中,可以准许对管理点的嵌套,并且管理点可从属于其他管理点。如果在框1116中确定了当前节点从属于现有管理点,则对外围设备不能标识管理点,并且在框1110中输出指示这一情况的出错消息。
如果当前节点被确定为不从属于任何先前标识的管理点,则在框1118中执行类似过程以便确定任何先前标识的管理点是否从属于当前节点。可出于与对框1116的检查相同的目的而进行这一检查,以便确认没有通过分层结构的路径会包括超过一个管理点。如果确定了存在从属于当前节点的管理点,则对外围设备不能标识管理点,并且在框1110中输出指示这一情况的出错消息。
然而,如果确定了没有从属于当前节点的先前标识的管理点,则过程1100继续至框1120,在那里作出关于特定的外围设备集是否在分层结构的节点以下的确定。在框1120,可查看从属于当前节点的外围设备,以便确定从属于当前节点的外围设备是否包括对于要被确定是管理点的当前节点的足够外围设备、而不包括会使当前节点不符合成为管理点的外围设备。例如,在某些实施例中,可以执行查看,以便确定从属于当前节点的只有一个键盘、一个鼠标、以及一个显示器,使得从从属于当前节点的外围设备中只可形成一个终端组。
如果当前节点没有通过在框1120中所检查的其他规则,则过程1100继续至框1108,以便确定对于当前节点是否存在父节点。然而,如果当前节点通过在框1120中所检查的规则,则在框1122中将当前节点声明为输入外围设备(在框1102中从其中接收数据)的管理点。
在框1122中一旦当前节点被标记成管理点,或在框1110中显示了出错消息,则过程1100结束。接着过程1100,如果为输入外围设备标识了管理点,则可至少部分地基于管理点来分配对输入外围设备的控制。例如,如上文讨论的,可将对分层结构中管理节点以下的所有外围设备的控制分配给相同的用户会话或相同的用户。
此处描述的各种基于规则的技术对于标识完整的终端组可能不会在所有情况下都成功。例如,经由图形卡1018连接到计算设备802的显示设备在与经由USB根集线器1002连接到计算设备802的外围设备不同的分层结构中示出。对USB分层结构的基于规则的分析可能不处理显示设备,反之亦然。另外,因为在分层结构之间没有相关,因此可能没有供基于规则的分析将显示设备匹配到USB设备的办法。因此,仅根据对有组织列表中的外围设备进行基于规则的分析来为用户标识完整的终端组(例如显示器、键盘、和鼠标),这一尝试可能不会在所有情况下都成功。相反,某些附加输入在标识终端组的所有元素方面可能是有用的或必要的。此外,来自用户的输入在某些情况下可用于将终端组与用户会话相关联。
在某些情况下,为了将显示设备与其他外围设备(例如USB设备)相匹配,可实现用户辅助的过程,该用户辅助的过程可包括在每一显示设备上显示特定输出(例如,“在你的键盘上按‘A’”)以及接受来自输入设备的输入。随后可检查输出与输入之间的匹配,以便将显示设备匹配到至少一个输入设备。使用这一对用户的提示的技术可按任何合适的方式来实现,包括根据上文引用的在‘039和‘766申请中描述的技术。
然而,在其他实施例中,显示设备可经由与其他类型的外围设备(包括其他输入外围设备)相同的总线来连接到计算设备。例如,某些显示设备能够使用USB适配器来连接到计算设备,并且由此将以同USB键盘和USB鼠标相同的分层结构来显示。其他总线也可指示显示设备以及像键盘和鼠标之类的输入设备。当显示设备经由与输入设备相同的总线来连接时,包括键盘、鼠标和显示器中的每一个的终端组可通过在一节点中将这些点标识成管理点来形成,在该节点以下为显示器、键盘和鼠标。
根据此处描述的原理操作的技术可通过任何适合的方式来实现。包括在以上讨论中的是示出各过程的步骤和动作的一系列流程图,各过程至少部分地基于在外围设备的有组织的列表中标识管理点来分配对计算设备的外围设备的控制。以上的流程图的处理和判定框表示可被包括在实现这些各种过程的算法中的步骤和动作。从这些过程导出的算法可以被实现为与一个或多个多用途处理器集成并指导其操作的软件、可以被实现为诸如数字信号处理(DSP)电路或专用集成电路(ASIC)等功能上等效的电路、或可以用任何其他适合的方式来实现。应当理解,此处包括的流程图未描绘任何特定电路的句法或操作,也未描绘任何特定的编程语言或编程语言类型的句法或操作。相反,各流程图示出了本领域普通技术人员可用于制造电路或实现计算机软件算法来执行实现此处描述的各类型的技术的特定装置的处理的功能信息。还应当理解,除非另外指明,否则每一流程图中描述的步骤和动作的特定序列仅是可被实现的算法的说明,并且可以在此处描述的原理的各实现和实施例中变化。
因此,某些实施例中,此处描述的技术可以用被实现为软件的计算机可执行指令来具体化,软件包括应用软件、系统软件、固件、中间件、或任何其他适合类型的软件。这样的计算机可执行指令可使用多种适合的程序设计语言和/或程序设计或脚本工具中的任何一种来编写,而且它们还可被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。
当此处描述的技术体现为计算机可执行指令时,这些计算机可执行指令可以以任何合适的方式来实现,包括被实现为多个功能工具,每个功能工具都提供为了完成根据这些技术来操作的算法的执行所需的一个或多个操作。不论是如何实例化的,“功能工具”都是计算机系统的一个结构组件,其在与一个或多个计算机集成并由其执行时使得该一个或多个计算机执行具体操作任务。功能工具可以是软件元素的一部分或是整个软件元素。例如,功能工具可被实现为进程的函数、或被实现为离散进程、或被实现为任何其他合适的处理单元。如果此处描述的技术被实现为多个功能工具,则每一功能工具可以按其自己的方式来实现;不必将所有功能工具以相同的方式来实现。另外,这些功能工具可在适当时并行或串行执行,并且可使用在其上执行这些模块的计算机上的共享存储器、使用消息传递协议、或以任何其他合适的方式,来在彼此之间传递信息。
一般而言,功能工具包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,功能工具的功能可以如它们在其中操作的系统所需来组合或分布。在某些实现中,执行本文描述的技术的一个或多个功能工具可一起形成完整的软件包。在替换实施例中,这些功能工具可适用于与其他不相关的功能工具和/或过程交互,来实现诸如
Figure BDA00001997182400231
等多点服务器2010的软件程序应用。在其他实现中,功能工具可适用于以形成操作系统的方式来与其他功能工具交互,操作系统包括可从华盛顿州雷蒙德市的微软
Figure BDA00001997182400232
公司获得的
Figure BDA00001997182400233
操作系统。换言之,在某些实现中,功能工具可以可替代地被实现为操作系统的一部分或在操作系统外部实现。
用于执行一个或多个任务的某些示例性功能工具已在此处描述。但应当理解,所描述的功能工具和任务划分仅是可实现此处描述的示例性技术的功能工具的类型的说明,且各实施例不限于以任何特定数量、划分、或功能工具类型来实现。在某些实现中,所有功能可在单个功能工具中实现。应当理解,在某些实现中,此处描述的功能工具中的某一些可以与其他功能工具一起实现或分开实现(即,作为单个单元或分开的单元),或者这些功能工具中的某一些可不被实现。
在某些实施例中,实现此处描述的技术的计算机可执行指令(但被实现为一个或多个功能工具或以任何其他方式实现时)可以被编码在一个或多个计算机可读介质上来向该介质提供功能。计算机可读介质包括诸如硬盘驱动器等磁介质、诸如压缩盘(CD)或数字多功能盘(DVD)等光介质、持久或非持久固态存储器(例如,闪存、磁RAM等)、或任何其他合适的存储介质。这一计算机可读介质可以用任何合适的方式来实现,包括作为以下图12的计算机可读存储介质1206(即,作为计算设备1200的一部分)或作为独立的、单独的存储介质。如此处所使用的,“计算机可读介质”(也称为“计算机可读存储介质”)指的是有形存储介质。有形存储介质是非瞬态的,且具有至少一个物理的结构组件。如此处所使用的,在“计算机可读介质”中,至少一个物理的结构组件具有至少一个物理性质,该物理性质可在用嵌入的信息创建该介质的过程、在其上记录信息的过程、或用信息来编码介质的任何其他过程期间以某种方式更改。例如,计算机可读介质的物理结构的一部分的磁化状态可在记录过程中更改。
另外,上面所述的一些技术包括以某些方式存储信息(例如数据和/或指令)以供这些技术使用的动作。在这些技术的一些实施方式中——比如在这些技术被实施成计算机可执行指令的实施方式中——,该信息可以被编码在计算机可读存储介质上。在本文将特定结构描述为用于存储该信息的有利格式时,这些结构可以用于提供这些信息在被编码在该存储介质上时的物理组织。然后,这些有利的结构可以通过影响与信息交互的一个或多个处理器的操作(例如通过增加由处理器执行的计算机操作的效率)来向存储介质提供功能。
在其中各技术可被具体化为计算机可执行指令的某些但非全部实现中,这些指令可以在任何合适的计算机系统中操作的一个或多个合适的计算设备上执行。包括这些计算机可执行指令的功能工具可以与单个多用途可编程数字计算机装置、共享处理能力且联合执行此处所描述的技术的两个或更多多用途计算机装置的协作系统、专用于执行此处所描述的技术的单个计算机装置或计算机装置的协作系统(位于同处或在地理上分布)、用于实现此处所描述的技术的一个或多个现场可编程门阵列(FPGA)、或任何其他合适的系统集成,或指导这些系统的操作。
图12示出了计算设备1200形式的可用于实现本文描述的技术的系统中的计算设备的一个示例性实现,然而其他实现也是可能的。应理解,图12既不旨在是对用于依照本发明描述的原理操作的计算设备的必要组件的描绘,也不旨在是全面描绘。
计算设备1200可包括至少一个处理器1202、网络适配器1204、以及计算机可读存储介质1206。计算设备1200可以是例如台式或膝上型个人计算机,大型机,服务器,诸如智能移动电话、个人数字助理或便携式游戏控制台等便携式数字设备,或任何其他合适的计算设备。网络适配器1204可以是使得计算设备1200能够通过任何合适的计算网络来与任何其他合适的计算设备进行有线和/或无线通信的任何合适的硬件和/或软件。计算网络可包括无线接入点、交换机、路由器、网关、和/或其他联网设备,以及用于在两个或更多计算机之间交换数据的任何合适的有线和/或无线通信介质,包括因特网。计算机可读介质1206适用于存储要由处理器1202处理的数据和/或要由处理器1202执行的指令。处理器1202能够处理数据和执行指令。这些数据和指令可被存储在计算机可读存储介质1206上,并且例如可以启用计算设备1200的各组件之间的通信。
存储在计算机可读存储介质1206上的数据和指令可包括实现根据本文描述的原理操作的技术的计算机可执行指令。在图12的示例中,如上所述,计算机可读存储介质1206存储实现各种工具并存储各种信息的计算机可执行指令。计算机可读存储介质1206可存储分配对连接到计算设备1200的外围设备的控制的外围设备管理工具1208。计算机可读存储介质1206还可存储与为连接至计算设备1200的外围设备所分配的控制有关的信息的数据存储1208(例如,为外围设备分配的所有权或访问权,以及向哪个用户会话分配所有权或访问权)。计算机可读存储介质1206可另外地存储设备管理工具1210以供创建连接到计算设备1200的外围设备的有组织的列表、以及与外围设备的有组织的列表有关的信息的数据存储1212。
尽管未在图12中示出,但计算设备可另外具有一个或多个组件和外围设备,包括输入和输出设备。这些设备主要可被用来呈现用户界面。可被用来提供用户界面的输出设备的示例包括用于可视地呈现输出的打印机或显示屏和用于可听地呈现输出的扬声器或其他声音生成设备。可被用于用户界面的输入设备的示例包括键盘和诸如鼠标、触摸板和数字化输入板等定点设备。作为另一示例,计算设备可以通过语音识别或以其他可听格式来接收输入信息。
已经描述了其中各技术以电路和/或计算机可执行指令来实现的各实施例。应当理解,某些实施例可采用方法的形式,已经提供了其至少一个示例。作为该方法的一部分所执行的动作可以按任何合适的方式来排序。因此,可以构建各个实施例,其中各动作以与所示的次序所不同的次序执行,不同的次序可包括同时执行某些动作,即使这些动作在各说明性实施例中被示为顺序动作。
以上描述的各实施例的各个方面可单独、组合或以未在前述实施例中具体讨论的各种安排来使用,从而并不将其应用限于前述描述中或附图中所示的组件的细节和安排。例如,可使用任何方式将一个实施例中描述的各方面与其他实施例中描述的各方面组合。
在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要求元素本身并不意味着一个权利要求元素较之另一个权利要求元素的优先级、先后次序或顺序、或者方法的各动作执行的时间顺序,而仅用作将具有某一名字的一个权利要求元素与(若不是使用序数词则)具有同一名字的另一元素区分开的标签以区分各权利要求元素。
同样,此处所使用的短语和术语是出于描述的目的而不应被认为是限制。此处对“包括”、“包含”、“具有”、“含有”、“涉及”及其变型的使用旨在包括其后所列的项目及其等效物以及其他项目。
描述了至少一个实施例的若干方面,可以理解,本领域的技术人员可容易地想到各种更改、修改和改进。这样的更改、修改和改进旨在是本发明的一部分,且旨在处于此处描述的原理的精神和范围内。从而,上述描述和附图仅用作示例。

Claims (14)

1.一种分配对连接到计算设备的外围设备的控制的方法,所述方法包括:
查看外围设备到该计算设备的连接的分层结构,以便在该分层结构中标识管理点,所述查看包括评估至少一个用于标识管理点的规则;以及
对于在所述查看中标识出的管理点,将对该分层结构中所述管理点以下的每一外围设备的控制分配给相同的用户会话或相同的用户。
2.如权利要求1所述的方法,其特征在于,查看该分层结构以便标识管理点包括:将连接到该计算设备的至少一个物理集线器标识成管理点。
3.如权利要求1所述的方法,其特征在于,还包括,响应于新外围设备连接到该计算设备:
在该分层结构中标识所述新外围设备以上的对应管理点;以及
按与该分层结构中所述对应管理点以下的其他外围设备相同的方式来分配对所述新外围设备的控制。
4.如权利要求3所述的方法,其特征在于,分配对所述新外围设备的控制包括:将对所述新外围设备的控制分配给与该分层结构中所述对应管理点以下的其他外围设备相同的用户会话。
5.如权利要求1所述的方法,其特征在于,查看外围设备的连接的分层结构包括:查看外围设备到该计算设备的物理连接的分层结构,其中经由集线器连接到该计算设备的外围设备在该分层结构中位于所述集线器以下。
6.如权利要求1所述的方法,其特征在于,查看该分层结构以便标识管理点包括:在该分层结构中标识第一管理点和第二管理点,第二管理点在该分层结构中从属于第一管理点,以及
其中分配对在第一管理点以下的每一外围设备的控制包括:按第一方式来分配对在第一管理点以下而不在第二管理点以下的每一外围设备的控制,而按第二方式来分配对在第一管理点以下也在第二管理点以下的每一外围设备的控制。
7.如权利要求1所述的方法,其特征在于,还包括:
接收包括用于在该分层结构中标识管理点的至少一个规则的策略。
8.一种用于分配对连接到计算设备的外围设备的控制的方法,所述方法包括:
查看外围设备到该计算设备的连接的分层结构,以便在该分层结构中标识管理点,所述查看包括评估用于标识管理点的至少一个规则,该分层结构与外围设备到该计算设备的物理连接的分层结构相对应,其中经由集线器连接到该计算设备的外围设备在该分层结构中位于所述集线器以下;以及
对于在所述查看中标识出的管理点,将对在该分层结构中所述管理点以下的每一外围设备的控制分配给相同的用户会话,其中分配控制被执行而无需与分配控制有关的用户输入。
9.如权利要求8所述的方法,其特征在于,所述方法还包括,响应于新外围设备连接到该计算设备:
在该分层结构中标识所述新外围设备以上的对应管理点;以及
按与该分层结构中所述对应管理点以下的其他外围设备相同的方式来分配对所述新外围设备的控制。
10.如权利要求9所述的方法,其特征在于,标识对应管理点包括:在该分层结构中为所述新外围设备标识新管理点。
11.如权利要求8所述的方法,其特征在于,还包括:
对于在所述查看中标识出的第二管理点,将对在该分层结构中第二管理点以下的每一外围设备的控制分配给第二个相同的用户会话,第二管理点在该分层结构中位于所述管理点以下。
12.如权利要求8所述的方法,其特征在于,所述查看包括查看分层结构,该分层结构包括虚拟集线器和在该分层结构中位于所述虚拟集线器以下的至少一个外围设备,该位于所述虚拟集线器以下的至少一个外围设备是连接到远离该计算设备的第二计算设备的外围设备。
13.如权利要求8所述的方法,其特征在于,所述方法还包括:经由网络接收包括用于在该分层结构中标识管理点的至少一个规则的策略,所述策略是应用于所述网络的网络策略的一部分。
14.如权利要求8所述的方法,其特征在于,所述方法还包括:接收指定策略的用户输入,所述策略包括用于在该分层结构中标识管理点的至少一个规则。
CN2011800091202A 2010-02-12 2011-02-04 基于规则来分配对计算设备的外围设备的控制 Expired - Fee Related CN102754074B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US30407710P 2010-02-12 2010-02-12
US61/304,077 2010-02-12
US12/839,274 US8370550B2 (en) 2010-02-12 2010-07-19 Rule-based assignment of control of peripherals of a computing device
US12/839,274 2010-07-19
PCT/US2011/023803 WO2011100172A2 (en) 2010-02-12 2011-02-04 Rule-based assignment of control of peripherals of a computing device

Publications (2)

Publication Number Publication Date
CN102754074A CN102754074A (zh) 2012-10-24
CN102754074B true CN102754074B (zh) 2013-12-11

Family

ID=44368387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800091202A Expired - Fee Related CN102754074B (zh) 2010-02-12 2011-02-04 基于规则来分配对计算设备的外围设备的控制

Country Status (4)

Country Link
US (1) US8370550B2 (zh)
CN (1) CN102754074B (zh)
HK (1) HK1175269A1 (zh)
WO (1) WO2011100172A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104252B2 (en) * 2010-02-12 2015-08-11 Microsoft Technology Licensing, Llc Assignment of control of peripherals of a computing device
US9798508B2 (en) 2012-07-16 2017-10-24 Microsoft Technology Licensing, Llc Implementing previously rendered frame buffer information in a customized GUI display
CN104536932B (zh) * 2015-01-23 2019-01-01 崔阳 专用低速usb设备的通用通讯方法
US10404559B2 (en) 2015-07-17 2019-09-03 Dataprobe Inc. Apparatus and system for automatically rebooting an electronically powered device via power over ethernet

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185641B1 (en) 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
US6353866B1 (en) * 1998-01-07 2002-03-05 National Semiconductor Corporation Apparatus and method for initializing a universal serial bus device
US6567875B1 (en) 1999-04-05 2003-05-20 Opti, Inc. USB data serializer
US7313809B1 (en) * 1999-04-16 2007-12-25 Apple, Inc. Convergence-enabled DVD and web system
US7290072B2 (en) 1999-10-06 2007-10-30 Igt Protocols and standards for USB peripheral communications
JP2001184295A (ja) * 1999-12-27 2001-07-06 Toshiba Corp 周辺装置および計算機システム
US6754811B1 (en) 2000-06-16 2004-06-22 International Business Machines Corporation Operating system device centric agent
US7127678B2 (en) 2000-12-21 2006-10-24 Microsoft Corporation System and method to specify device specific user interface information in the firmware of a USB device
US6832273B2 (en) 2000-12-21 2004-12-14 Microsoft Corporation System and method to specify extended configuration descriptor information in USB devices
US7385584B2 (en) 2001-02-07 2008-06-10 International Business Machines Corporation Automated keyboard mouse switch
US6907482B2 (en) 2001-12-13 2005-06-14 Microsoft Corporation Universal graphic adapter for interfacing with hardware and means for encapsulating and abstracting details of the hardware
US7564425B2 (en) 2002-04-04 2009-07-21 Lenovo (Singapore) Pte Ltd. Modular display device
US6976105B1 (en) * 2002-12-11 2005-12-13 Cypress Semiconductor Corp. Apparatus and method for attaching multiple devices to a host
US7502878B1 (en) 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
TWI238320B (en) * 2003-10-07 2005-08-21 Sunplus Technology Co Ltd USB composite device using hub connection layer and UTMI interface
US7546599B2 (en) 2004-12-20 2009-06-09 Intel Corporation Method, apparatus and system for instructing a virtual device from a virtual machine
US7493502B2 (en) 2005-11-30 2009-02-17 Douglas Hsieh Remote access power hub
US7535433B2 (en) 2006-05-18 2009-05-19 Nvidia Corporation Dynamic multiple display configuration
US7660937B2 (en) 2006-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Emulating a USB host controller
GB2439572B (en) 2006-06-29 2011-03-09 Hewlett Packard Development Co Remote connection between intermediary device and computing device via central authority software
US20080155478A1 (en) 2006-12-21 2008-06-26 Mark Stross Virtual interface and system for controlling a device
US20090064038A1 (en) 2007-09-04 2009-03-05 Apple Inc. Configuration of Device Settings
US8180888B2 (en) * 2008-01-02 2012-05-15 Oracle International Corporation Network mass operation infrastructure
DE102008046577A1 (de) * 2008-09-10 2010-03-11 Fujitsu Siemens Computers Gmbh Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren
US8296469B2 (en) * 2008-12-31 2012-10-23 Intel Corporation Scalable method and apparatus for link with reconfigurable ports

Also Published As

Publication number Publication date
CN102754074A (zh) 2012-10-24
HK1175269A1 (en) 2013-06-28
US8370550B2 (en) 2013-02-05
US20110202750A1 (en) 2011-08-18
WO2011100172A3 (en) 2011-12-15
WO2011100172A2 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
CN105024865B (zh) 云联合即服务
CN104246738B (zh) 本地迁移
CN102299915B (zh) 基于网络层声明的访问控制
CN106575243A (zh) 管理程序托管的虚拟机取证
US9189091B2 (en) Assignment of control of peripherals of a computing device
CN104956290A (zh) 自动化会议室
CN104838388A (zh) 安全本地web应用数据管理器
CN110462623A (zh) 用于基于角色的计算机安全配置的系统和方法
CN103189922A (zh) 合并关于副本图像的元数据
US8589306B1 (en) Open source license management
CN109246225A (zh) 一种资源分配、发放及领取方法
CN102754074B (zh) 基于规则来分配对计算设备的外围设备的控制
CN106605234A (zh) 使用近场通信与许可控制共享内容
CN110225104A (zh) 数据获取方法、装置及终端设备
CN107392801A (zh) 控制扰乱订单的方法及其装置、存储介质、电子设备
CN103873547A (zh) 存储区域网
KR102614445B1 (ko) 메신저 봇을 이용하여 IoT 기기를 제어하기 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
CN102523242A (zh) 计算机群集中的目标状态通信
CN113761552A (zh) 一种访问控制方法、装置、系统、服务器和存储介质
CN106502760A (zh) 一种虚拟机亲和性策略可视化的方法及装置
CN111291045A (zh) 服务隔离数据传输方法、装置、计算机设备及存储介质
CN111262836B (zh) 一种微服务授权方法、设备及存储介质
CN112631623A (zh) 链码部署方法、系统、装置、设备和存储介质
WO2023229230A1 (ko) 닉네임 간 유사도를 이용하여 다중 접속계정을 탐지하기 위한 방법 및 장치
WO2024117308A1 (ko) 다계좌 통합 관리 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1175269

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1175269

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131211

CF01 Termination of patent right due to non-payment of annual fee