# US 2016/0366239 A1 · Systems and methods for enabling virtual keyboard-video-mouse for external graphics controllers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0366239 A1
- Document ID: US20160366239A1
- Status: Published application
- Kind: A1
- Application number: 14/737,842
- Filed: 2015-06-12
- Published: 2016-12-15
- Earliest claimed: 2015-06-12
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Janorious Rabeela; Chandrasekhar Puthillathe; Rajeshkumar Ichchhubhai Patel
- Web page: https://patentgrep.com/patent/US20160366239A1

## CPC

- H04L 67/564: Enhancement of application control based on intercepted application data
- G06F 13/4221: {being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus}
- G09G 5/363: {Graphics controllers}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G09G 2370/02: Networking aspects
- G09G 2370/24: Keyboard-Video-Mouse [KVM] switch
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

In accordance with embodiments of the present disclosure, an information handling system may include a processor and a management controller communicatively coupled to the processor and configured to provide out-of-band management of the information handling system. The management controller may be further configured to receive video data from an external graphics controller external to a motherboard upon which the processor resides, wherein each of the external graphics controller and the management controller are endpoints of a root complex instantiated on the processor and forward the video data to a remote management console communicatively coupled to the management controller via a network.

## Claims

### Claim 1

An information handling system comprising:
a processor;
a management controller communicatively coupled to the processor and configured to provide out-of-band management of the information handling system and further configured to:
receive video data from an external graphics controller external to a motherboard upon which the processor resides, wherein each of the external graphics controller and the management controller are endpoints of a root complex instantiated on the processor; and
forward the video data to a remote management console communicatively coupled to the management controller via a network.

### Claim 2 (depends on 1)

The information handling system of claim 1, further comprising a management engine communicatively coupled to the processor and configured to operate as a proxy for vendor-defined messages communicated between the management controller and the external graphics controller.

### Claim 3 (depends on 1)

The information handling system of claim 1, wherein the management controller receives the video data from the external graphics controller in response to a message communicated from the management controller to the external graphics controller.

### Claim 4 (depends on 1)

The information handling system of claim 1, wherein the management controller and the external graphics controller communicate via a Peripheral Component Interconnect Express bus.

### Claim 5 (depends on 1)

The information handling system of claim 1, wherein receiving video data from the external graphics controller comprises:
receiving an initial frame buffer from the external graphics controller;
storing the initial frame buffer in memory;
receiving changes to the initial frame buffer; and
storing the changes to memory.

### Claim 6

A method comprising, in an information handling system comprising a management controller communicatively coupled to a processor of the information handling system and configured to provide out-of-band management of the information handling system:
receiving video data at the management controller from an external graphics controller external to a motherboard upon which the processor resides, wherein each of the external graphics controller and the management controller are endpoints of a root complex instantiated on the processor; and
forwarding the video data from the management controller to a remote management console communicatively coupled to the management controller via a network.

### Claim 7 (depends on 6)

The method of claim 6, further comprising configuring a management engine communicatively coupled to the processor to operate as a proxy for vendor-defined messages communicated between the management controller and the external graphics controller.

### Claim 8 (depends on 6)

The method of claim 6, further comprising receiving the video data from the external graphics controller in response to a message communicated from the management controller to the external graphics controller.

### Claim 9 (depends on 6)

The method of claim 6, further comprising communicating between the management controller and the external graphics controller via a Peripheral Component Interconnect Express bus.

### Claim 10 (depends on 6)

The method of claim 6, wherein receiving video data from the external graphics controller comprises:
receiving an initial frame buffer from the external graphics controller;
storing the initial frame buffer in memory;
receiving changes to the initial frame buffer; and
storing the changes to memory.

### Claim 11

An article of manufacture comprising:
a non-transitory computer-readable medium; and
computer-executable instructions carried on the computer-readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to, in an information handling system comprising a management controller communicatively coupled to a processor of the information handling system and configured to provide out-of-band management of the information handling system:
receive video data at the management controller from an external graphics controller external to a motherboard upon which the processor resides, wherein each of the external graphics controller and the management controller are endpoints of a root complex instantiated on the processor; and
forwarding the video data from the management controller to a remote management console communicatively coupled to the management controller via a network.

### Claim 12 (depends on 11)

The article of claim 11, the instructions for further causing the processor to configure a management engine communicatively coupled to the processor to operate as a proxy for vendor-defined messages communicated between the management controller and the external graphics controller.

### Claim 13 (depends on 11)

The article of claim 11, the instructions for further causing the processor to receive the video data from the external graphics controller in response to a message communicated from the management controller to the external graphics controller.

### Claim 14 (depends on 11)

The article of claim 11, the instructions for further causing the processor to communicate between the management controller and the external graphics controller via a Peripheral Component Interconnect Express bus.

### Claim 15 (depends on 11)

The article of claim 11, wherein receiving video data from the external graphics controller comprises:
receiving an initial frame buffer from the external graphics controller;
storing the initial frame buffer in memory;
receiving changes to the initial frame buffer; and
storing the changes to memory.
