CN115951788B - 用于视频输出的装置、计算机实施的方法以及存储介质 - Google Patents
用于视频输出的装置、计算机实施的方法以及存储介质 Download PDFInfo
- Publication number
- CN115951788B CN115951788B CN202211313350.4A CN202211313350A CN115951788B CN 115951788 B CN115951788 B CN 115951788B CN 202211313350 A CN202211313350 A CN 202211313350A CN 115951788 B CN115951788 B CN 115951788B
- Authority
- CN
- China
- Prior art keywords
- video output
- multiplexer
- node
- usb
- controller
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 22
- 239000000872 buffer Substances 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 36
- 241000699666 Mus <mouse, genus> Species 0.000 description 13
- 238000001514 detection method Methods 0.000 description 11
- 230000003139 buffering effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03543—Mice or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
- G06F3/04897—Special input arrangements or commands for improving display capability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
Abstract
本公开总体上涉及无集成视频控制器的服务器的键盘/视频/监视器切换器。装置包括切换器和耦接到该切换器的节点。每个节点都不包括集成视频控制器,并经由USB和串行连接向切换器传送数据。切换器包括存储基于经由串行连接接收到的数据而生成的视频输出的控制器。控制器接收对第一节点的用户选择;向第一多路复用器传送用户选择;取得基于经由对应串行连接接收到的数据而生成的第一视频输出;并向第二多路复用器传送第一视频输出。第一多路复用器向第二多路复用器传送从第一节点接收到的USB数据。若第一节点处于预引导环境,则第二多路复用器选择第一视频输出以传送。若第一节点处于引导后环境,则第二多路复用器选择从第一节点接收到的数据以传送。
Description
技术领域
本公开总体上涉及无集成视频控制器的服务器的键盘/视频/监视器切换器。
背景技术
物理空间是数据中心中宝贵而有限的资源。当前的数据中心可以包括高密度配置的服务器,例如,形状因数可能比传统服务器的形状因数小的刀片式服务器。每个服务器上的集成视频控制器可以为各自的服务器提供视频功能。这些服务器中的许多可能不需要频繁的经由键盘/监视器/视频(keyboard/monitor/video,KVM)访问来实现的视频功能,如果有的话。因此,当前的数据服务器可能包括“无头(headless)”服务器,即不带集成视频控制器的服务器。然而,在一些情况下,为需要最少的非零量KVM功能的密度稍低的服务器提供统一的设计可能是有益的。例如,如果不能经由网络对服务器进行远程访问,或者如果由于其他原因而需要进行直接的控制台访问,则可能需要KVM功能。此外,直接的控制台访问可能是访问处于预引导环境中的服务器的唯一方式。
发明内容
根据本公开的一方面,提供了一种用于视频输出的装置,包括:切换器;以及耦接到所述切换器的多个服务器,其中,每个服务器经由USB连接和串行连接向所述切换器传送数据;其中,所述切换器包括视频输出端口和包括缓冲区的第一控制器,所述缓冲区存储经由串行连接从所述服务器接收到的数据,其中,所述第一控制器:接收对第一服务器的第一用户选择;向第一多路复用器传送所述第一用户选择;基于与所述第一服务器相关联的缓冲区,取得基于经由到所述第一服务器的对应串行连接接收到的数据而生成的第一视频输出;以及向第二多路复用器传送所述第一视频输出,其中,所述第一多路复用器通过USB集线器和第二控制器向所述第二多路复用器传送经由对应USB连接从所述第一服务器接收到的数据,其中,响应于所述第一服务器处于第一环境,所述第二多路复用器选择所述第一视频输出,以作为最终视频输出经由所述视频输出端口进行传送,并且其中,响应于所述第一服务器处于第二环境,所述第二多路复用器选择经由所述对应USB连接从所述第一服务器接收到的所述数据,以作为所述最终视频输出经由所述视频输出端口进行传送。
根据本公开的一方面,提供了一种计算机实施的方法,包括:由切换器的微控制器接收对耦接到所述切换器的多个节点中的第一节点的第一用户选择,其中,每个节点经由USB连接和串行连接向所述切换器传送数据;向所述切换器的第一多路复用器传送所述第一用户选择;基于与所述第一节点相关联的缓冲区,取得基于经由到所述第一节点的对应串行连接接收到的数据而生成的第一视频输出;向所述切换器的第二多路复用器传送所述第一视频输出,其中,所述第一多路复用器通过USB集线器和视频控制器向所述第二多路复用器传送经由对应USB连接从所述第一节点接收到的数据;响应于所述第一节点处于第一环境,向所述第二多路复用器传送对所述第一视频输出的第一选择,所述第一视频输出将作为最终视频输出经由所述切换器的视频输出端口进行传送;响应于所述第一节点处于第二环境,向所述第二多路复用器传送对经由所述对应USB连接从所述第一节点接收到的所述数据的第二选择,所述数据将作为所述最终视频输出经由所述视频输出端口进行传送。
根据本公开的一方面,提供了一种存储有指令的非暂态计算机可读存储介质,所述指令在由计算机执行时使所述计算机执行方法,所述方法包括:由切换器的微控制器接收对耦接到所述切换器的多个节点中的第一节点的第一用户选择,其中,每个节点经由USB连接和串行连接向所述切换器传送数据;向所述切换器的第一多路复用器传送所述第一用户选择;基于与所述第一节点相关联的缓冲区,取得基于经由到所述第一节点的对应串行连接接收到的数据而生成的第一视频输出;向所述切换器的第二多路复用器传送所述第一视频输出,其中,所述第一多路复用器经由USB集线器和第二控制器向所述第二多路复用器传送经由对应USB连接从所述第一节点接收到的数据;响应于所述微控制器没有检测到来自所述第二控制器的信号,由所述第二多路复用器选择所述第一视频输出,以作为所述切换器的最终视频输出进行传送;以及响应于所述微控制器检测到来自所述第二控制器的信号,由所述第二多路复用器选择经由所述对应USB连接从所述第一节点接收到的所述数据,以作为所述最终视频输出进行传送。
附图说明
图1图示了根据本申请的一个方面的用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的高层图。
图2图示了根据本申请的一个方面的用于不带集成视频控制器的多个刀片式服务器的、使用通用串行总线(USB)和串行连接的共享KVM切换器的图。
图3图示了根据本申请的一个方面的对应于图2的共享KVM切换器中的微控制器。
图4A图示了根据本申请的一个方面的在预引导环境期间显示内容的样本屏幕,作为期望的屏幕输出。
图4B图示了根据本申请的一个方面的与图4A的样本屏幕相对应的没有基于文本的串行端口帧缓冲的预引导环境内容的样本屏幕。
图4C图示了根据本申请的一个方面的类似于图4A的样本屏幕的在预引导环境期间显示内容的样本屏幕,作为期望的屏幕输出。
图4D图示了根据本申请的一个方面的与图4C的样本屏幕相对应的具有基于文本的串行端口帧缓冲的预引导环境内容的样本屏幕。
图5A呈现了图示根据本申请的一个方面的方法的流程图,该方法促进具有用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的系统。
图5B呈现了图示根据本申请的一个方面的方法的流程图,该方法促进具有用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的系统,包括在不同的刀片式服务器之间切换。
图6图示了根据本申请的一个方面的装置,该装置促进用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器。
在这些附图中,相似的附图标记指代相同的附图要素。
具体实施方式
以下描述被呈现以使得本领域的任何技术人员能够制造和使用各方面和示例,并且在特定应用及其要求的上下文中被提供。对所公开方面的各种修改对于本领域技术人员来说将是显而易见的,并且在不脱离本公开的主旨和范围的情况下,本文定义的一般原理可以应用于其他方面和应用。因此,本文描述的各方面不限于所示的方面,而旨在符合与本文公开的原理和特征一致的最大范围。
物理空间是数据中心中宝贵而有限的资源。当前的数据中心可以包括高密度配置的服务器,例如,形状因数可能比传统服务器的形状因数小的刀片式服务器。每个服务器上的集成视频控制器可以为各自的服务器提供视频功能。这些服务器中的许多可能不需要频繁的经由键盘/监视器/视频(KVM)访问来实现的视频功能,如果有的话。因此,当前的数据服务器可能包括“无头”服务器或节点,即不带集成视频控制器的服务器、节点或计算实体。然而,在一些情况下,为需要最少的非零量KVM功能的密度稍低的服务器提供统一的设计可能是有益的。例如,如果不能经由网络对服务器进行远程访问,或者如果由于其他原因而需要进行直接的控制台访问,则可能需要KVM功能。此外,直接的控制台访问可能是访问处于预引导环境中的服务器的唯一方式。
本申请的各个方面提供了一种KVM切换器,该KVM切换器可以与多个无头服务器耦接、相关联并由其共享,其中每个服务器都不包括嵌入式或集成视频控制器。每个服务器可以经由USB连接和串行连接向共享KVM切换器传送数据,并且共享KVM切换器可以包括视频输出端口和至少两个外部USB端口(例如,键盘USB信号和鼠标USB信号)。KVM切换器可以驻留在与服务器相同或不同的外壳中。即使无头服务器不提供任何图形输出,所描述的各方面也允许与KVM切换器耦接或相关联的所有服务器共享单个监视器、键盘和鼠标。下文关于图1来描述用于无头刀片式服务器的共享KVM切换器的高层图。在本公开中,将刀片式服务器描述为KVM切换器对其提供所描述的功能的服务器类型仅是说明性的。也就是说,刀片式服务器仅被用作服务器的一种非限制性示例。任何类型的无头服务器(即不带集成视频控制器)都可以按照本文描述的方式与共享KVM切换器耦接和相关联。此外,术语“节点”在本公开中用来指服务器,或者举例而言,用来指刀片式服务器。
切换器可以包括微控制器,该微控制器接收对耦接到切换器的多个节点中的第一节点的用户选择(经由例如耦接到USB端口的键盘)。每个节点可以不包括集成视频控制器,并且可以经由USB连接和串行连接向切换器传送数据。微控制器可以向切换器的第一多路复用器传送用户选择。微控制器可以包括多个串行文本缓冲区,其中,每个缓冲区可以与从与共享KVM切换器耦接或相关联的节点中的每一个接收到的串行输出相对应。也就是说,每个缓冲区可以存储从相应节点接收到的串行输出。基于指示第一节点的用户选择,微控制器可以确定微控制器的缓冲区,其中,该缓冲区与该第一节点相关联。微控制器还可以基于该缓冲区取得基于经由到第一节点的对应串行连接接收到的数据而生成的第一视频输出。下文关于图3对串行文本缓冲区进行描述。微控制器可以向切换器的第二多路复用器传送第一视频输出。第一多路复用器可以向第二多路复用器传送经由对应USB连接从第一节点接收到的数据。响应于接收到指示节点的状态或与节点相关联的环境的数据,微控制器可以确定要经由切换器的视频输出端口进行输出的选择。响应于第一节点处于预引导环境,微控制器可以向第二多路复用器传送指示第一视频输出的第一选择,该第一视频输出将作为最终视频输出经由切换器的视频输出端口进行传送。响应于第一节点处于引导后环境,微控制器可以向第二多路复用器传送指示经由对应USB连接从第一节点接收到的数据的第二选择,该数据将作为最终视频输出经由视频输出端口进行传送。下文关于图2来描述包括微控制器的共享KVM切换器。下文关于图3来描述共享KVM切换器的微控制器的细节图。下文关于图5A和图5B来描述促进用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的方法。
因此,通过将不带集成视频控制器的多个服务器经由USB连接和串行连接耦接到共享KVM切换器,并通过使用带有视频输出端口和外部USB端口的共享KVM切换器的微控制器和其他部件来处理传入的USB数据和串行数据,所描述的各方面可以为单独服务器集合提供共享KVM功能,例如,这些服务器一起安装在同一个机架中,包括数据中心中的插装更密集、形状因数更小的刀片式服务器。这可以使得更高效地利用数据中心中宝贵而有限的物理空间。例如,所公开的系统和方法减少了服务器的尺寸和成本,因为服务器可以通过KVM切换器被提供KVM功能,并且因此不需要包括与这些功能相关联的硬件。
术语“刀片式服务器”在本公开中用来指形状因数通常比传统机架服务器更小或更紧凑的计算设备。术语“无头刀片式服务器”在本公开中用来指不包括集成或嵌入式视频控制器(例如,不包括KVM功能)的刀片式服务器。
术语“KVM”是指键盘、视频和监视器。术语“KVM切换器”是指允许用户从一组或多组KVM控制多个计算设备的硬件设备。术语“共享KVM切换器”在本公开中用来指由多个无头服务器共享的KVM切换器。
术语“预引导环境”在本公开中用来指系统通电但操作系统(OS)和OS视频驱动程序尚未被加载期间的时间段。预引导环境可以包括通电自检(power-on self test,POST)、基于只读存储器(ROM)的设置实用程序菜单、加载项(Add-in)选项卡菜单、基板管理控制器(baseboard management controller,BMC)菜单等。在本公开中,预引导环境还可以包括仅基于文本的操作系统(OS)加载(即没有对应图形用户界面(GUI)的OS)。当处于预引导环境时,所描述的各方面的KVM切换器可以基于经由所选择的服务器的串行端口接收到的文本内容来生成所选择的服务器的视频输出。下文关于图1至图3对确定刀片式服务器是否处于预引导环境并经由串行连接接收基于文本的数据进行描述。
术语“引导后环境”在本公开中用来指系统已引导到OS并完成加载基于USB的视频控制器驱动程序期间的时间段。在引导后环境中时,所描述的各方面的KVM切换器可以使用USB视频控制器从选择的刀片生成视频输出。USB视频控制器可以驻留在共享KVM切换器中,并且在下文关于图2进行描述。
术语“串行文本缓冲区”和“基于文本的串行帧缓冲区”在本公开中可互换使用,并且是指切换器的微控制器内部的一个或多个存储器位置,其中,串行文本缓冲区存储来自与共享KVM切换器耦接或者相关联的每个无头服务器的最新的串行文本输出。微控制器可以基于与所选择的服务器相关联的串行文本缓冲区的内容来生成完整的视频屏幕输出。下文关于图3来描述共享KVM切换器的微控制器的串行文本缓冲区,并且下文关于图4A至图4D来描述具有和不具有基于文本的串行端口帧缓冲的样本屏幕。
术语“视频输出多路复用器”或“视频输出MUX”在本公开中用来指选择USB视频控制器或微控制器中任一者的视频输出的多路复用器。视频输出MUX的选择是基于所选择的服务器是处于预引导环境(在这种情况下,视频输出MUX选择来自微控制器的视频输出)还是处于引导后环境(在这种情况下,视频输出MUX选择来自USB视频控制器的视频输出)来确定的。下文关于图2和图3对视频输出MUX及其对特定视频输出的选择进行描述。
术语“USB多路复用器”或“USB MUX”在本公开中用来指连接到(在共享KVM切换器内的)USB集线器到用户选择的服务器的USB端口的USB端口的简单多路复用器。
用于无头刀片式服务器的共享KVM切换器的高层图
本申请的各方面可以包括切换器与耦接到切换器的多个服务器,例如,刀片式服务器。每个刀片式服务器可以经由USB连接和串行连接向KVM切换器传送数据。类似地,KVM切换器可以使用如下文关于图1所描绘的到每个刀片式服务器的单个USB端口接口和专用的串行端口接口。KVM切换器还可以包括视频输出端口和至少两个外部USB端口。用户可以例如使用与外部USB端口之一耦接的键盘来提供对耦接到KVM切换器的多个刀片式服务器之一的用户选择。如果所选择的刀片式服务器处于预引导环境,则KVM切换器可以将基于从所选择的刀片式服务器的对应串行端口接收到的文本上下文而生成的第一视频输出驱动到视频输出端口。如果所选择的刀片式服务器处于引导后环境,则KVM切换器可以将USB视频控制器的视频输出驱动到视频输出端口。下文关于图2和图3对确定刀片式服务器是处于预引导环境还是引导后环境进行描述。
图1图示了根据本申请的一个方面的用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的高层图100。图100可以包括:多个无头刀片式服务器110、112、114和116;由迹线和连接器构成的外壳中腔130;共享KVM切换器150;以及外围输入/输出(I/O)KVM设备(例如,监视器160、键盘170和鼠标或其他定点设备180)。每个无头刀片式服务器可以包括连接器,该连接器包括与共享KVM切换器150的刀片式KVM模块输入连接器140连接或耦接的USB端口和串行端口。例如,无头刀片式服务器110可以包括向刀片式KVM模块输入连接器140传送USB和串行数据130的连接器120。类似地:无头刀片式服务器112可以包括向刀片式KVM模块输入连接器140传送USB和串行数据132的连接器122;无头刀片式服务器114可以包括向刀片式KVM模块输入连接器140传送USB和串行数据134的连接器124;以及无头刀片式服务器116可以包括向刀片式KVM模块输入连接器140传送USB和串行数据136的连接器126。虽然USB和串行数据130、132、134和136各自被描绘为单条线,但数据可以经由两条单独的连接、线或布线来传送,例如,一个去往刀片式KVM模块输入连接器140的USB接口或端口而另一个去往刀片式KVM模块输入连接器140的串行接口或端口。
共享KVM切换器150可以包括到外围I/O USB设备中的每一个的连接器或外部端口。例如:连接器或视频输出端口162可以耦接到监视器160;USB连接器172可以耦接到键盘170;以及USB连接器182可以耦接到鼠标180。
用于无头刀片式服务器的共享KVM切换器的详细概述
如上所述,KVM切换器可以包括视频输出端口(例如,高清晰度多媒体接口(HDMI)端口)以及例如用于键盘和鼠标的至少两个外部USB端口。KVM切换器可以将经由外部USB端口接收到的信号或数据通过KVM切换器的微控制器进行路由,以实现热键检测。外部USB端口与USB视频控制器一起可以通过KVM切换器内的USB集线器最终连接回所选择的刀片式服务器。当用户利用KVM切换器选择要使用的刀片式服务器时,KVM切换器上(经由视频输出端口和外部USB端口耦接)的USB视频/键盘/鼠标设备可以表现为“热添加(hot-added)”到刀片式服务器,即,USB设备可以动态地添加到正在运行的系统(正在运行的KVM切换器),而无需停机。当用户在KVM切换器内选择要使用的不同刀片式服务器时,这些USB KVM设备可以表现为从所选择的刀片式服务器中热移除(hot-removed)。下文关于图4A至图4D来描述热键检测、USB直通以及不同的刀片式服务器之间的切换。
图2图示了根据本申请的一个方面的用于不带集成视频控制器的多个刀片式服务器的、使用USB和串行连接的共享KVM切换器的图200。图200可以包括:(如上文在图1中所描绘的)刀片式KVM模块输入连接器140;USB MUX 210(“第一多路复用器”);USB集线器212;微控制器216(“第一控制器”);USB视频控制器214(“第二控制器”);视频输出MUX 218(“第二多路复用器”);视频输出端口220;以及外部USB端口222和224。
刀片式KVM模块输入连接器140可以接收来自如上文关于图1所描述的多个无头刀片式服务器(例如,[1...N])的USB和串行数据。如由USB端口连接230(其至少可以包括USBnode_1 232和USB node_N 234)所指示的,连接器140可以将来自节点1至节点N的USB数据传送到USB MUX 210。如由串行端口连接240(其至少可以包括通用异步接收器-传送器(universal asynchronous receiver-transmitter,UART)node_1 242和UART node_N244)所指示的,连接器140还可以将来自节点1至节点N的串行数据传送到微控制器216。
微控制器216可以将经由串行端口连接240接收到的基于文本的串行数据存储在相应的串行文本缓冲区中。微控制器216可以基于指示特定刀片式服务器的用户选择信号对多个串行端口连接执行内部多路复用。微控制器216还可以将存储的基于文本的串行数据转换为视频输出。在下文关于图3对与串行端口连接有关的微控制器功能进行描述。
在操作期间,用户可以使用与外部USB端口222耦接的键盘来选择第一节点(例如,node_1)。微控制器216可以经由USB(键盘/鼠标)信号266接收对第一节点的用户选择。基于用户选择,微控制器216可以执行与所选择的节点对应的串行连接(例如,UART node_1)的内部多路复用器选择。微控制器216可以将存储的来自所选择的节点的基于文本的串行数据转换为第一视频输出。微控制器216可以将第一视频输出作为视频输出258向视频输出MUX 218传送。
在经由USB信号266接收到对第一节点的用户选择后,微控制器216还可以经由USBMUX选择信号264向USB MUX 210传送该用户选择。在接收到USB MUX选择信号264后,USBMUX 210可以选择与所选择的节点相对应的USB连接(例如,USB node_1 232),并且经由USB信号250向USB集线器212传送USB数据。
USB集线器212可以接收来自USB MUX 210以及来自微控制器216的USB数据。如本文所述,从外部USB端口222和224接收到的信号266和268可以“通过”微控制器216,并作为USB(键盘/鼠标)接口(I/F)信号270向前传送到USB集线器212。这可以允许耦接到USB端口222和224的USB设备表现为热添加到所选择的节点。USB集线器212可以经由USB(视频I/F)252向USB视频控制器214传送从USB node 1 232接收到的USB信号250。USB视频控制器214可以将USB信号250作为视频输出254向视频输出MUX 218传送。USB视频控制器也可以将视频输出254作为信号256向微控制器218发送。
微控制器218可以使用信号256来确定所选择的节点是处于预引导环境还是引导后环境。微控制器216可以监听信号256。如果微控制器216没有感测到信号256,则微控制器216可以向视频输出MUX 218传送视频输出MUX选择信号260,以选择(如先前由微控制器216向视频输出MUX 218传送的)视频输出258。如果微控制器216确实感测到信号256,则微控制器216可以向视频输出MUX 218传送视频输出MUX选择信号260,以选择(如先前由USB视频控制器214向视频输出MUX 218传送的)视频输出254。
基于视频输出MUX选择信号260,视频输出MUX 218可以将最终视频输出作为视频输出262向视频输出端口220传送。视频输出262可以显示在与视频输出端口220耦接的外部屏幕或监视器上。例如,如果视频输出262对应于视频输出258(如在检测到预引导环境的情况下),则视频输出262可以显示为基本输入/输出系统(BIOS)屏幕,其可以包括引导和其他配置信息,比如下文关于图4A所描绘的。如果视频输出262对应于视频输出254,则视频输出262可以显示为例如运行Windows的系统中的桌面。
用于无头刀片式服务器的共享KVM切换器中的微控制器的操作
图3图示了根据本申请的一个方面的对应于图2的共享KVM切换器中的微控制器300。微控制器300可以对应于图2的微控制器216。微控制器300可以包括:引导后环境检测模块310;热键检测/节点选择/USB直通(pass-through)模块320;串行文本缓冲区340;串行MUX 330;以及文本到VGA位元响应(bit bang)332。微控制器300还可以包括可以检测与KVM切换器耦接或相关联的节点的其他环境或状态的其他模块(未示出)。引导后环境检测模块310可以监听和检测来自USB视频控制器214的视频输出信号。这种检测的视频输出信号可以被指示为来自USB视频控制器的视频输出信号350(信号256)。基于引导后环境检测模块310是否接收到信号350/256,引导后环境检测模块310可以向视频输出MUX 218发送适当的控制信号。该控制信号可以被指示为到视频输出MUX的控制信号352(选择260)。
如果引导后环境检测模块310没有检测到信号350(信号256),则引导后环境检测模块310可以向视频输出MUX 218传送控制信号352(选择260),以选择例如先前由微控制器216向视频输出MUX 218传送的视频输出258。如果引导后环境检测模块310确实检测到信号350(信号256),则引导后环境检测模块310可以向视频输出MUX 218传送控制信号352(选择260),以选择例如先前由USB视频控制器214向视频输出MUX 218传送的视频输出254。
模块320可以执行几种功能,包括热键检测和USB直通。模块320可以从经由外部USB port_1 322连接到例如键盘以及经由外部USB port_2 324连接到鼠标的外部USB端口来接收USB信号354和356。模块320可以确定USB信号354是否指示一个或多个预定义的热键。如果模块320基于USB信号354或356确定或检测到预定义的热键已被按下,则模块320可以通过微控制器300传递USB信号,并将这些信号作为键盘/鼠标到USB集线器的USB信号358(这对应于图2的USB(键盘/鼠标接口)信号252)传送到USB集线器212。如上所述,USB集线器212可以有助于允许所选择的刀片式服务器将耦接到外部USB端口322和324的外部鼠标和键盘识别为热添加。
模块320也可以处理节点选择。例如,用户可以使用耦接到外部USB端口322(或324)的键盘来选择要经由微控制器300驻留在其中的共享KVM切换器进行访问的节点。模块320可以确定键盘输入(例如,USB 354或356)指示例如对node_1 232的用户选择。模块320可以向USB MUX 210发送控制信号。该控制信号可以被指示为到USB MUX的控制信号360(选择264)。模块320也可以向微控制器300的内部串行MUX 330发送控制信号。该控制信号可以被指示为到串行MUX的控制信号390。
串行MUX 330可以接收来自串行文本缓冲区340的数据,其中每个串行文本缓冲区可以与从耦接到微控制器300驻留在其中的KVM切换器的多个无头刀片式服务器中的每一个接收到的串行输出相对应。例如:node_1串行输出371可以存储在对应的串行文本缓冲区341中,并且(经由通信381)传送到串行MUX 330;node_2串行输出372可以存储在对应的串行文本缓冲区342中,并且(经由通信382)传送到串行MUX 330;node_3串行输出373可以存储在对应的串行文本缓冲区343中,并且(经由通信383)传送到串行MUX 330;node_N-2串行输出374可以存储在对应的串行文本缓冲区344中,并且(经由通信384)传送到串行MUX330;node_N-1串行输出375可以存储在对应的串行文本缓冲区345中,并且(经由通信385)传送到串行MUX 330;以及node_N串行输出376可以存储在对应的串行文本缓冲区346中,并且(经由通信386)传送到串行MUX 330。如图2所描绘的,串行输出371可以对应于从UARTnode_1 242接收到的串行数据,并且串行输出376可以对应于从UART node_N 244接收到的串行数据。
在接收到来自模块320的控制信号390后,内部串行MUX 330可以选择与控制信号390中指示的所选择的节点相对应的串行文本缓冲区。串行MUX 330可以将来自所选择的串行文本缓冲区的串行数据作为串行文本输出392传送到文本到VGA位元响应模块332。模块332可以将接收到的串行文本输出392转换为视频输出,并且向视频输出MUX 218传送该视频输出。该视频输出可以被指示为预引导环境视频输出394(视频输出258)。
如上所述,视频输出MUX 218可以使用控制信号352(选择260)来确定是为所选择的节点选择USB视频输出254(引导后环境)还是为所选择的节点选择视频输出258(预引导环境视频输出394)。
在具有和没有基于文本的串行端口帧缓冲的预引导期间的示例性屏幕
图4A图示了根据本申请的一个方面的在预引导环境期间显示内容的样本屏幕400,作为期望的屏幕输出。假设标签404指示在引导过程中共享KVM切换器的用户决定选择或切换到其预引导环境内容显示在屏幕400上的节点的确切点。所选择的节点可以由屏幕400的元素402指示为“节点3”,并且该选择可以通过用户基于显示的菜单选择(未示出)按下热键来进行。由于串行文本流通常实时转换为视频,而没有本文所描述的基于文本的串行端口帧缓冲,因此实际的屏幕输出会表现为如下文在图4B中所描绘的那样。
图4B图示了根据本申请的一个方面的与图4A的样本屏幕400相对应的没有基于文本的串行端口帧缓冲的预引导环境内容的样本屏幕410。样本屏幕410描绘了空白区域412,该空白区域指示在节点(即节点3)被选择之前在串行端口上的所有文本输出不会出现在屏幕上,因为串行文本流不能在时间上倒退。
图4C图示了根据本申请的一个方面的类似于图4A的样本屏幕400的在预引导环境期间显示内容的样本屏幕420,作为期望的屏幕输出。再次假设标签404指示在引导过程中共享KVM切换器的用户决定选择或切换到“节点3”(如由屏幕420的元素402所指示的)的确切点。因为所描述的各方面提供了基于文本的串行端口帧缓冲(例如,存储从图3的对应Node_3串行输出373接收到的串行数据的串行文本缓冲区343),所以实际的屏幕输出将表现为如下文在图4D中所描绘的那样(类似于图4C的屏幕420的期望屏幕输出)。
图4D图示了根据本申请的一个方面的与图4C的样本屏幕420相对应的具有基于文本的串行端口帧缓冲的预引导环境内容的样本屏幕430。替代空白或缺失区域412(如图4B的图410),屏幕430描绘了包括在与节点3相对应的串行端口帧缓冲区(例如,图3的串行文本缓冲区343)中存储的内容432的期望屏幕输出。内容432可以存储在串行文本缓冲区343中并可以随后从其中取得。因此,即使选择或切换发生在时间点404之后,串行文本缓冲区也可以存储在选择或切换之前节点3的预引导环境的文本内容。这允许系统在选择新的节点(例如,节点3)(即用户经由共享KVM切换器进行切换)后,立即显示期望屏幕的全部内容。
用于促进用于无头刀片式服务器的共享KVM切换器的方法
图5A呈现了图示根据本申请的一个方面的方法的流程图500,该方法促进具有用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的系统。在操作期间,系统通过切换器的微控制器接收对耦接到切换器的多个节点中的第一节点的第一用户选择,其中,每个节点都不包括集成视频控制器,并且经由USB连接和串行连接向切换器传送数据(操作502)。系统向切换器的第一多路复用器传送第一用户选择(操作504)。系统可以确定微控制器的缓冲区,其中,该缓冲区与第一节点相关联(未示出)。系统(例如,微控制器)从与第一节点相关联的缓冲区取得基于经由到第一节点的对应串行连接接收到的数据而生成的第一视频输出(操作506)。系统向切换器的第二多路复用器传送第一视频输出(操作508)。第一多路复用器向第二多路复用器传送经由对应的USB连接从第一节点接收到的数据(操作510)。
响应于第一节点处于预引导环境(判定512),系统通过第二多路复用器选择第一视频输出,以作为最终视频输出经由切换器的视频输出端口进行传送(操作514)。响应于第一节点处于引导后环境(判定512),系统通过第二多路复用器选择经由对应的USB连接从第一节点接收到的数据,以作为最终视频输出经由视频输出端口进行传送(操作516)。虽然判定512被描绘为确定第一节点是处于预引导环境还是引导后环境,但是判定512也可以检测与第一节点相关联的其他环境或状态(例如,第一环境和第二环境)。操作在图5B的标签B处继续。
图5B呈现了图示根据本申请的一个方面的方法的流程图520,该方法促进具有用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器的系统,包括在不同的刀片式服务器之间切换。切换器进一步包括:耦接到微控制器的至少两个USB端口,其中,第一USB端口提供键盘连接,并且第二USB端口提供鼠标连接;第一多路复用器;第二多路复用器;视频控制器,该视频控制器向第二多路复用器和微控制器传送信号;以及USB集线器,该USB集线器耦接到第一多路复用器、微控制器和视频控制器(操作522)。如果系统没有经由第一USB端口检测到热键触发,则系统可以等待,直到它检测到热键触发(判定524)。
如果系统从第一USB端口和第二USB端口检测到不是热键触发的信号,则系统向USB集线器传递检测到的信号(未示出)。如果系统经由第一USB端口检测到热键触发(判定524),则系统生成节点选择菜单(操作526)。系统向第二多路复用器传送节点选择菜单,以作为最终视频输出经由视频输出端口进行传送(操作528)。例如,视频输出MUX可以选择微控制器的视频输出(如图2的选择信号260和视频输出258)。
系统通过微控制器经由第一USB端口接收对多个节点中的第二节点的第二用户选择(操作530)。系统将第一用户选择设置为第二用户选择(操作534)。例如,微控制器可以设置USB MUX以将USB集线器连接到所选择的节点的USB端口(如图2中的选择信号264)。系统可以基于第二节点是处于预引导环境还是引导后环境来传送数据作为最终视频输出(操作536),然后操作返回。操作536可以对应于返回到图5A的操作504,并以第二节点作为所选择的节点执行操作504至操作516。如上所述,虽然操作536被描绘为基于第二节点是处于预引导环境还是引导后环境来传送数据,但是操作536也可以基于与第二节点相关联的其他环境或状态(例如,第一环境和第二环境)。
用于无头刀片式服务器的共享KVM切换器的装置
图6图示了根据本申请的一个方面的装置600,该装置促进用于不带集成视频控制器的多个刀片式服务器的共享KVM切换器。装置600可以包括:刀片式服务器602;刀片式KVM模块输入连接器604;以及共享KVM切换器610。共享KVM切换器610可以包括:第一多路复用器612(例如,USB MUX);集线器614(例如,USB集线器);第一控制器618(例如,微控制器);第二控制器616(例如,视频控制器);第二多路复用器620(例如,视频控制器MUX);视频输出端口622;以及USB端口624。作为装置600的一部分而描述的元件、部件、实体或单元可以执行与上文关于图1、图2、图3、图5A和图5B描述的操作相同的操作。
一般而言,所公开的各方面提供了用于促进向不带集成视频控制器的多个无头服务器提供视频功能的共享KVM切换器的方法和装置。在本申请的一个方面,一种装置包括:切换器;以及耦接到切换器的多个服务器。每个服务器经由USB连接和串行连接向切换器传送数据。切换器包括视频输出端口和第一控制器,该第一控制器包括存储基于经由串行连接从服务器接收到的数据而生成的视频输出的缓冲区。第一控制器:接收对第一服务器的第一用户选择;向第一多路复用器传送第一用户选择;基于与第一服务器相关联的缓冲区来取得基于经由到第一服务器的对应串行连接接收到的数据而生成的第一视频输出;并且向第二多路复用器传送第一视频输出。第一多路复用器向第二多路复用器传送经由对应的USB连接从第一服务器接收到的数据。响应于第一服务器处于第一环境,第二多路复用器选择第一视频输出,以作为最终视频输出经由视频输出端口进行传送。响应于第一服务器处于第二环境,第二多路复用器选择经由对应的USB连接从第一服务器接收到的数据,以作为最终视频输出经由视频输出端口进行传送。
在这一方面的变体中,切换器进一步包括:耦接到第一控制器的至少两个USB端口,其中,第一USB端口提供键盘连接,并且第二USB端口提供鼠标连接;第一多路复用器;第二多路复用器;第二控制器,该第二控制器向第二多路复用器和第一控制器传送信号;以及USB集线器,该USB集线器耦接到第一多路复用器、第一控制器和第二控制器。
在另一个变体中,第一多路复用器经由USB集线器和第二控制器向第二多路复用器传送经由对应的USB连接从第一服务器接收到的数据。
在进一步的变体中,第一控制器经由USB端口接收对第一服务器的第一用户选择。
在进一步的变体中,第一环境包括预引导环境,并且第一控制器通过没有检测到来自第二控制器的信号来确定第一服务器处于预引导环境。第二环境包括引导后环境,并且第一控制器通过检测到来自第二控制器的信号来确定第一服务器处于引导后环境。
在进一步的变体中,响应于经由第一USB端口检测到热键触发,第一控制器生成节点选择菜单,并且向第二多路复用器传送该节点选择菜单,以作为最终视频输出经由视频输出端口进行传送。
在进一步的变体中,第一控制器:经由第一USB端口接收对第二服务器的第二用户选择;向第一多路复用器传送第二用户选择;基于与第二服务器相关联的缓冲区取得基于经由到第二服务器的对应串行连接接收到的数据而生成的第二视频输出;并且向第二多路复用器传送第二视频输出。第一多路复用器向第二多路复用器传送经由对应的USB连接从第二服务器接收到的数据。响应于第二服务器处于第一环境,第二多路复用器选择第二视频输出,以作为最终视频输出经由视频输出端口进行传送。响应于第二服务器处于第二环境,第二多路复用器选择经由对应的USB连接从第二服务器接收到的数据,以作为最终视频输出经由视频输出端口进行传送。
在进一步的变体中,响应于从至少两个USB端口检测到不是热键触发的信号,第一控制器向USB集线器传递检测到的信号。
在进一步的变体中,在从与第一服务器相关联的缓冲区中取得第一视频输出之前,第一控制器向驻留在第一控制器中的第三多路复用器传送第一用户选择。在第一控制器向第二多路复用器传送第一视频输出之前,第三多路复用器将第一视频输出作为串行文本输出传送到位元响应模块。
在进一步的变体中,切换器驻留在以下各项中的至少一项中:与多个服务器相同的机箱或外壳;以及与多个服务器不同的机箱或外壳。
在本申请的另一个方面,一种系统通过切换器的微控制器接收对耦接到切换器的多个节点中的第一节点的用户选择,其中,每个节点都不包括集成视频控制器,并且经由USB连接和串行连接向切换器传送数据。系统向切换器的第一多路复用器传送用户选择。系统基于与第一节点相关联的缓冲区取得基于经由到第一节点的对应串行连接接收到的数据而生成的第一视频输出。系统向切换器的第二多路复用器传送第一视频输出。第一多路复用器向第二多路复用器传送经由对应的USB连接从第一节点接收到的数据。响应于第一节点处于预引导环境,系统向第二多路复用器传送对第一视频输出的第一选择,该第一视频输出将作为最终视频输出经由切换器的视频输出端口进行传送。响应于第一节点处于引导后环境,系统向第二多路复用器传送对经由对应的USB连接从第一节点接收到的数据的第二选择,该数据将作为最终视频输出经由视频输出端口进行传送。
在本申请的又另一方面,一种非暂态计算机可读存储介质存储指令,该指令当由计算机执行时使计算机执行一方法。该方法包括:由切换器的微控制器接收对耦接到切换器的多个节点中的第一节点的用户选择,其中,每个节点都不包括集成视频控制器,并且经由USB连接和串行连接向切换器传送数据;向切换器的第一多路复用器传送用户选择;基于与第一节点相关联的缓冲区,取得基于经由到第一节点的对应串行连接接收到的数据而生成的第一视频输出;向切换器的第二多路复用器传送第一视频输出。第一多路复用器经由USB集线器和第二控制器向第二多路复用器传送经由对应的USB连接从第一节点接收到的数据。该方法进一步包括:响应于微控制器没有检测到来自第二控制器的信号,由第二多路复用器选择第一视频输出以作为切换器的最终视频输出进行传送;以及响应于微控制器检测到来自第二控制器的信号,由第二多路复用器选择经由对应的USB连接从第一节点接收到的数据以作为最终视频输出进行传送。
在这一方面的变体中,切换器进一步包括与微控制器耦接的第一USB端口和第二USB端口。第一USB端口提供键盘连接,并且第二USB端口提供鼠标连接。该方法进一步包括:响应于经由第一USB端口检测到热键触发,生成节点选择菜单;向第二多路复用器传送该节点选择菜单,以作为最终视频输出进行传送;经由第一USB端口接收对第二节点的第二用户选择;将第一用户选择设置为第二用户选择;以及基于第二节点是处于预引导环境还是引导后环境来传送数据作为最终视频输出。
已经仅出于说明和描述的目的呈现了各方面的前述描述。这些描述并非旨在是穷举的或将本文描述的各方面限制为所公开的形式。相应地,对于本领域普通技术人员而言,许多的修改和变化将是显而易见的。另外,以上公开内容并非旨在限制本文描述的各方面。本文描述的各方面的范围由所附权利要求限定。
Claims (19)
1.一种用于视频输出的装置,包括:
切换器;以及
耦接到所述切换器的多个服务器,其中,每个服务器经由USB连接和串行连接向所述切换器传送数据;
其中,所述切换器包括视频输出端口和包括缓冲区的第一控制器,所述缓冲区存储经由串行连接从所述服务器接收到的数据,
其中,所述第一控制器:
接收对第一服务器的第一用户选择;
向第一多路复用器传送所述第一用户选择;
基于与所述第一服务器相关联的缓冲区,取得基于经由到所述第一服务器的对应串行连接接收到的数据而生成的第一视频输出;以及
向第二多路复用器传送所述第一视频输出,
其中,所述第一多路复用器通过USB集线器和第二控制器向所述第二多路复用器传送经由对应USB连接从所述第一服务器接收到的数据,
其中,响应于所述第一服务器处于第一环境,所述第二多路复用器选择所述第一视频输出,以作为最终视频输出经由所述视频输出端口进行传送,并且
其中,响应于所述第一服务器处于第二环境,所述第二多路复用器选择经由所述对应USB连接从所述第一服务器接收到的所述数据,以作为所述最终视频输出经由所述视频输出端口进行传送。
2.如权利要求1所述的装置,其中,所述切换器进一步包括:
耦接到所述第一控制器的至少两个USB端口,其中,第一USB端口提供键盘连接,并且第二USB端口提供鼠标连接;
所述第一多路复用器;
所述第二多路复用器;
其中所述第二控制器向所述第二多路复用器和所述第一控制器传送信号;以及
其中所述USB集线器耦接到所述第一多路复用器、所述第一控制器和所述第二控制器。
3.如权利要求2所述的装置,
其中,所述第一控制器经由所述USB端口接收对所述第一服务器的所述第一用户选择。
4.如权利要求2所述的装置,
其中,所述第一环境包括预引导环境,并且其中,所述第一控制器通过没有检测到来自所述第二控制器的信号来确定所述第一服务器处于所述预引导环境,并且
其中,所述第二环境包括引导后环境,并且其中,所述第一控制器通过检测到来自所述第二控制器的信号来确定所述第一服务器处于所述引导后环境。
5.如权利要求2所述的装置,其中,所述第一控制器进一步:
响应于经由所述第一USB端口检测到热键触发,生成节点选择菜单;并且
向所述第二多路复用器传送所述节点选择菜单,以作为所述最终视频输出经由所述视频输出端口进行传送。
6.如权利要求5所述的装置,其中,所述第一控制器进一步:
经由所述第一USB端口接收对所述多个服务器中的第二服务器的第二用户选择;
向所述第一多路复用器传送所述第二用户选择;
基于与所述第二服务器相关联的缓冲区,取得基于经由到所述第二服务器的所述对应串行连接接收到的数据而生成的第二视频输出;并且
向所述第二多路复用器传送所述第二视频输出;
其中,响应于所述第二服务器处于所述第一环境,所述第二多路复用器选择所述第二视频输出,以作为所述最终视频输出经由所述视频输出端口进行传送,并且
其中,响应于所述第二服务器处于所述第二环境,所述第二多路复用器选择经由所述对应USB连接从所述第二服务器接收到的所述数据,以作为所述最终视频输出经由所述视频输出端口进行传送。
7.如权利要求5所述的装置,其中,所述第一控制器进一步:
响应于从所述至少两个USB端口检测到不是所述热键触发的信号,向所述USB集线器传递检测到的信号。
8.如权利要求1所述的装置,其中,在从与所述第一服务器相关联的所述缓冲区中取得所述第一视频输出之前,所述第一控制器进一步:
向驻留在所述第一控制器中的第三多路复用器传送所述第一用户选择,
其中,在所述第一控制器向所述第二多路复用器传送所述第一视频输出之前,所述第三多路复用器将所述第一视频输出作为串行文本输出传送到位元响应模块。
9.如权利要求1所述的装置,其中,所述切换器驻留在以下各项中的至少一项中:
与所述多个服务器相同的机箱或外壳;以及
与所述多个服务器不同的机箱或外壳。
10.一种计算机实施的方法,包括:
由切换器的微控制器接收对耦接到所述切换器的多个节点中的第一节点的第一用户选择,其中,每个节点经由USB连接和串行连接向所述切换器传送数据;
向所述切换器的第一多路复用器传送所述第一用户选择;
基于与所述第一节点相关联的缓冲区,取得基于经由到所述第一节点的对应串行连接接收到的数据而生成的第一视频输出;
向所述切换器的第二多路复用器传送所述第一视频输出,
其中,所述第一多路复用器通过USB集线器和视频控制器向所述第二多路复用器传送经由对应USB连接从所述第一节点接收到的数据;
响应于所述第一节点处于第一环境,向所述第二多路复用器传送对所述第一视频输出的第一选择,所述第一视频输出将作为最终视频输出经由所述切换器的视频输出端口进行传送;
响应于所述第一节点处于第二环境,向所述第二多路复用器传送对经由所述对应USB连接从所述第一节点接收到的所述数据的第二选择,所述数据将作为所述最终视频输出经由所述视频输出端口进行传送。
11.如权利要求10所述的方法,其中,所述切换器进一步包括:
耦接到所述微控制器的至少两个USB端口,其中,第一USB端口提供键盘连接,并且第二USB端口提供鼠标连接;
所述第一多路复用器;
所述第二多路复用器;
其中所述视频控制器向所述第二多路复用器和所述微控制器传送信号;以及
其中所述USB集线器耦接到所述第一多路复用器、所述微控制器和所述视频控制器。
12.如权利要求11所述的方法,
其中,所述微控制器经由所述USB端口接收对所述第一节点的所述第一用户选择。
13.如权利要求11所述的方法,其中,所述第一环境包括预引导环境,并且所述第二环境包括引导后环境,其中,所述方法进一步包括:
由所述微控制器通过没有检测到来自所述视频控制器的信号来确定所述第一节点处于所述预引导环境,以及
由所述微控制器通过检测到来自所述视频控制器的信号来确定所述第一节点处于所述引导后环境。
14.如权利要求11所述的方法,进一步包括:
响应于所述微控制器经由所述第一USB端口检测到热键触发:
生成节点选择菜单;以及
向所述第二多路复用器传送所述节点选择菜单,以作为所述最终视频输出经由所述视频输出端口进行传送。
15.如权利要求14所述的方法,进一步包括:
由所述微控制器通过所述第一USB端口接收对所述多个节点中的第二节点的第二用户选择;
向所述第一多路复用器传送所述第二用户选择;
基于与所述第二节点相关联的缓冲区,取得基于经由到所述第二节点的所述对应串行连接接收到的数据而生成的第二视频输出;以及
向所述第二多路复用器传送所述第二视频输出;
其中,所述第一多路复用器通过所述USB集线器和所述视频控制器向所述第二多路复用器传送经由所述对应USB连接从所述第二节点接收到的数据;
响应于所述第二节点处于所述第一环境,由所述第二多路复用器选择所述第二视频输出,以作为所述最终视频输出经由所述视频输出端口进行传送;以及
响应于所述第二节点处于所述第二环境,由所述第二多路复用器选择经由所述对应USB连接从所述第二节点接收到的所述数据,以作为所述最终视频输出经由所述视频输出端口进行传送。
16.如权利要求14所述的方法,进一步包括:
响应于从所述至少两个USB端口检测到不是所述热键触发的信号,向所述USB集线器传递检测到的信号。
17.如权利要求10所述的方法,其中,在从与所述第一节点相关联的所述缓冲区中取得所述第一视频输出之前,所述计算机实施的方法进一步包括:
向驻留在所述微控制器中的第三多路复用器传送所述第一用户选择,
其中,在所述微控制器向所述第二多路复用器传送所述第一视频输出之前,所述第三多路复用器将所述第一视频输出作为串行文本输出传送到位元响应模块。
18.一种存储有指令的非暂态计算机可读存储介质,所述指令在由计算机执行时使所述计算机执行方法,所述方法包括:
由切换器的微控制器接收对耦接到所述切换器的多个节点中的第一节点的第一用户选择,其中,每个节点经由USB连接和串行连接向所述切换器传送数据;
向所述切换器的第一多路复用器传送所述第一用户选择;
基于与所述第一节点相关联的缓冲区,取得基于经由到所述第一节点的对应串行连接接收到的数据而生成的第一视频输出;
向所述切换器的第二多路复用器传送所述第一视频输出,
其中,所述第一多路复用器经由USB集线器和第二控制器向所述第二多路复用器传送经由对应USB连接从所述第一节点接收到的数据;
响应于所述微控制器没有检测到来自所述第二控制器的信号,由所述第二多路复用器选择所述第一视频输出,以作为所述切换器的最终视频输出进行传送;以及
响应于所述微控制器检测到来自所述第二控制器的信号,由所述第二多路复用器选择经由所述对应USB连接从所述第一节点接收到的所述数据,以作为所述最终视频输出进行传送。
19.如权利要求18所述的非暂态计算机可读存储介质,
其中,所述切换器进一步包括耦接到所述微控制器的第一USB端口和第二USB端口,其中,所述第一USB端口提供键盘连接,并且所述第二USB端口提供鼠标连接,并且
其中,所述方法进一步包括:
响应于经由所述第一USB端口检测到热键触发,生成节点选择菜单;
向所述第二多路复用器传送所述节点选择菜单,以作为所述最终视频输出进行传送;
经由所述第一USB端口接收对所述多个节点中的第二节点的第二用户选择;
将所述第一用户选择设置为所述第二用户选择;以及
基于所述第二节点是处于预引导环境还是引导后环境来传送数据,作为所述最终视频输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/855,238 | 2022-06-30 | ||
US17/855,238 US11593052B1 (en) | 2022-06-30 | 2022-06-30 | Keyboard/video/monitor switch for servers without integrated video controller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115951788A CN115951788A (zh) | 2023-04-11 |
CN115951788B true CN115951788B (zh) | 2024-03-08 |
Family
ID=85289413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211313350.4A Active CN115951788B (zh) | 2022-06-30 | 2022-10-25 | 用于视频输出的装置、计算机实施的方法以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11593052B1 (zh) |
CN (1) | CN115951788B (zh) |
DE (1) | DE102022127450A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12035068B2 (en) * | 2021-09-30 | 2024-07-09 | Hewlett Packard Enterprise Development Lp | Providing video content for pre-boot and post-boot environments of computer platforms |
US20240020079A1 (en) * | 2022-07-18 | 2024-01-18 | Dell Products, L.P. | Systems and methods to offload on-premises keyboard, video and mouse (kvm) server live video rendering to modular chassis frame buffer memory |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN207397237U (zh) * | 2017-11-24 | 2018-05-22 | 北京市瑞泽胜为科技有限公司 | 一种多计算机切换器 |
CN207557886U (zh) * | 2017-07-25 | 2018-06-29 | 雷兴忠 | 一种kvm切换器及控制系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240111B2 (en) * | 2005-04-12 | 2007-07-03 | Belkin Corporation | Apparatus and system for managing multiple computers |
US8838856B2 (en) * | 2007-02-16 | 2014-09-16 | Emulex Corporation | Virtual universal asynchronous receiver transmitter for server systems |
US8589141B2 (en) * | 2007-07-24 | 2013-11-19 | Aten International Co., Ltd. | Resource sharing apparatus which disconnects an input device when detecting a standby indication of a switching command |
US20090077222A1 (en) * | 2007-09-13 | 2009-03-19 | Aten International Co., Ltd. | Kvm switch and multi-computer system incorporating the same |
US7921230B2 (en) | 2008-09-08 | 2011-04-05 | International Business Corporation | USB devices pre-configuration for KVM switch |
US7917674B2 (en) | 2008-10-21 | 2011-03-29 | Aten International Co., Ltd. | KVM switch with PIP functions using remote desktop sharing technique |
JP2010288283A (ja) | 2009-06-15 | 2010-12-24 | Fairchild Semiconductor Corp | デジタルビデオ用のユニバーサルシリアルバス(usb) |
US8266363B2 (en) * | 2009-08-17 | 2012-09-11 | June-On Technology Co., Ltd. | KVM switch having universal input and programmable USB hub and switching control method thereof |
US20110161533A1 (en) * | 2009-12-31 | 2011-06-30 | Aten International Co., Ltd. | Broadcast by KVM System and Method Thereof |
US9665525B2 (en) * | 2014-06-09 | 2017-05-30 | High Sec Labs Ltd. | Multi-host docking device |
US10372400B2 (en) * | 2015-05-21 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Video management for compute nodes |
US9817459B2 (en) | 2015-06-11 | 2017-11-14 | Hewlett Packard Enterprise Development Lp | Pre-boot video signal |
US11308002B2 (en) * | 2019-03-12 | 2022-04-19 | Dell Products, L.P. | Systems and methods for detecting expected user intervention across multiple blades during a keyboard, video, and mouse (KVM) session |
US11650948B2 (en) * | 2020-05-26 | 2023-05-16 | Hewlett Packard Enterprise Development Lp | Server identification via a keyboard/video/mouse switch |
-
2022
- 2022-06-30 US US17/855,238 patent/US11593052B1/en active Active
- 2022-10-19 DE DE102022127450.0A patent/DE102022127450A1/de active Granted
- 2022-10-25 CN CN202211313350.4A patent/CN115951788B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN207557886U (zh) * | 2017-07-25 | 2018-06-29 | 雷兴忠 | 一种kvm切换器及控制系统 |
CN207397237U (zh) * | 2017-11-24 | 2018-05-22 | 北京市瑞泽胜为科技有限公司 | 一种多计算机切换器 |
Also Published As
Publication number | Publication date |
---|---|
CN115951788A (zh) | 2023-04-11 |
US11593052B1 (en) | 2023-02-28 |
DE102022127450A1 (de) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115951788B (zh) | 用于视频输出的装置、计算机实施的方法以及存储介质 | |
US9858238B2 (en) | Dual mode USB and serial console port | |
US7139861B2 (en) | Input/output unit access switching system and method | |
US11199890B2 (en) | Peripheral device expansion card system | |
US6931458B2 (en) | Apparatus and method for refreshing a terminal display in a multiple information handling system environment | |
US8694693B2 (en) | Methods and systems for providing user selection of associations between information handling resources and information handling systems in an integrated chassis | |
US9110863B2 (en) | Seamless switching of USB devices connected to a monitor hub | |
WO1997027532A1 (en) | Method for adapting multiple screens of information for access and use on a single graphical panel | |
US20100064079A1 (en) | USB Devices Pre-Configuration For KVM Switch | |
US20080151127A1 (en) | Display apparatus having network communicating function and control method thereof | |
CN110597475A (zh) | 一种多网口多主机医疗显示器的自动切换控制系统与方法 | |
US8028108B2 (en) | Virtual KVM functionality for computer systems | |
US11308002B2 (en) | Systems and methods for detecting expected user intervention across multiple blades during a keyboard, video, and mouse (KVM) session | |
CN110990316B (zh) | 用于输出热插拔设备状态的方法和可编程逻辑电路 | |
US7603498B2 (en) | System and method for managing multiple information handling systems using embedded control logic | |
CN106990854B (zh) | 一种服务器无显示器实现kvm_over_ip的系统及方法 | |
CN212160647U (zh) | 一种控制多个主机的显示器 | |
KR20130031188A (ko) | 다중 데이터 접속 포트들을 구비한 전기 장치 | |
US20190278724A1 (en) | Keyboard-video-mouse switch, signal processing method, and non-transitory computer-readable storage medium | |
US9977757B2 (en) | Prevented inter-integrated circuit address conflict service system and method thereof | |
US7853830B2 (en) | Apparatus and method for providing error notification in a wireless virtual file system | |
US9704214B2 (en) | Rendering video data in an information handling system by converting the video data to bulk video data | |
US20240020211A1 (en) | Electronic system, monitoring chip, and operation method | |
CN218273376U (zh) | 支援雷达坐标的多电脑主机切换装置 | |
CN210954981U (zh) | 具有kvm的键盘装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |