KVM-over-IP Switch Product
Overview
A KVM-over-IP switch is a marvel of datacentre engineering. It does what seems simple on paper—connect to a remote server's display and keyboard over the network—but requires coordinating real-time video compression, USB HID emulation, power relay control, and low-latency network streaming. The reward is that a systems engineer sitting in the NOC (network operations centre) with a web browser can install an operating system on a remote server, watch the boot sequence in real-time, and press keys on the server's BIOS setup menu, all without physically approaching the server.
Large datacentres maintain 1:4 or 1:8 engineer-to-server ratios. Without KVM-over-IP, a technician would need to physically walk to each server and plug in a monitor and keyboard. With KVM-over-IP, the technician can manage 32 servers from one console, switching between them by clicking a port menu.
Video Capture and Streaming
The Video Capture and Compression subsystem is the mechanical heart. Each remote server has a monitor output (HDMI, DVI, or VGA) plugged into the KVM's Video Input Receiver receiver. This is a sophisticated chip (Magnum Semiconductor MG7480, NXP LPC32xx) that:
- Detects the incoming video signal (HDMI TMDS encoding, DVI, or VGA analog).
- Recovers the pixel clock and synchronisation pulses.
- Emulates EDID (extended display identification data) describing the KVM's display capabilities, fooling the remote server into sending video at a supported resolution (typically 1920×1200).
- Handles HDCP (high-bandwidth content protection) if the server transmits encrypted content (e.g., encrypted boot-loader video).
The Video Scaler IC real-time video processor resizes the incoming video (say, 2560×1440) into a network-friendly format (1280×720 or 1920×1080), reducing bandwidth without losing essential readability. The Hardware Video Encoder hardware-accelerated video encoder (typically H.264) compresses the resized frames at 1–30 fps, adjusting bitrate based on network conditions and scene complexity.
The compression achieves ~1–8 Mbps, easily fitting in a 100 Mbps datacenter network; 10 simultaneous 1 Mbps streams leave 90 Mbps for production traffic. Latency is 100–200 ms end-to-end (video input → compression → network transmission → browser playback), imperceptible to a human watching boot sequences or typing in a BIOS menu.
USB Emulation for Keyboard and Mouse
USB emulation is the trickiest part. The remote server's USB keyboard and mouse must appear to be directly plugged in, even though inputs are arriving over the network from a technician's browser. The USB Keyboard/Mouse Emulation stage solves this with a USB host controller on the KVM that emulates standard USB HID (human interface device) devices.
When an operator presses a key in the web console, a WebSocket message arrives at the KVM's CPU. The CPU's USB host controller injects that key into the remote server's USB port as if a physical keyboard were connected. The remote server's BIOS or OS recognises it as a keyboard and reacts accordingly. Mouse movements are injected similarly as USB absolute positioning events. Mice reporting absolute screen coordinates work better than relative motion, because there's no accumulated error across network jitter.
The USB Hub provides 2–4 actual USB ports for connecting real USB devices (USB storage for OS installation media, barcode scanners, security keys) to the remote server. These are hub-connected through the host controller, sharing bandwidth with the emulated keyboard and mouse.
Power Control
The Server Port Module include a Power Control Relay. This is a relay that, when energised by the KVM's main board, shorts the two pins of the target server's power button. The operator clicks "Power On" in the web console, the relay activates for 100 ms, the server interprets this as a power button press, and powers up. Same for power-off (long press, 10+ seconds) and reboot (short press). This is the only way to restart a server that has hung and is unresponsive on the network—a hard power cycle.
Network Architecture
The Network Interface provides dual gigabit Ethernet ports for redundancy. The two ports can be configured in several ways:
- Active-passive: One port carries traffic; if it loses link, traffic fails over to the second port.
- Load-sharing: Traffic is split across both ports for 2 Gbps aggregate (more common in large switch clusters).
- Out-of-band management: One port is on the management VLAN (secure), the second is on the production VLAN (lower security), allowing management even if production network is compromised.
Most datacentres place the KVM on the isolated management VLAN, so only NOC engineers (with VPN access) can reach it. This prevents production servers from accessing the KVM and potentially disrupting a technician's session.
Processor and Codec Library
The Main CPU Module is the computational engine. A quad-core ARM Cortex-A72 (e.g., Raspberry Pi Compute Module 4) or Intel Celeron running Ubuntu 20.04 provides sufficient performance for 8–16 simultaneous streams. The CPU runs:
- FFmpeg: Real-time video encoding library, managing the H.264/H.265 codec, bitrate control, and frame-rate adjustment.
- USB gadget driver: Linux kernel module emulating the USB host controller and HID device.
- HTTPS web server: Nginx serving the single-page app.
- WebSocket daemon: Custom server translating browser keyboard/mouse events into USB HID or relay commands.
Modern KVMs include the NVIDIA Tegra or similar SOC with built-in H.264 encoder, offloading the compression entirely from the CPU and reducing power draw from 80 W to 30 W. Older KVMs use CPU-based encoding with FFmpeg, which is more power-hungry but more flexible (any codec, any bitrate).
Management Interface
The Management Interface gives operators multiple access methods:
Web console: HTTPS browser dashboard (Firefox, Chrome, Safari) showing a grid of thumbnails, one per server port. Click a thumbnail, and the main panel opens a full-screen live video stream with a virtual keyboard below. Type normally; keystrokes are sent as WebSocket messages to the KVM and injected into the remote server's USB port. Mouse movements appear in the video.
SSH CLI: Direct SSH login to the KVM, allowing scriptable port selection and power control: ''' $ ssh kvm1.dc.example.com $ connect port 5
Now in the serial console of server 5
$ power-reset port 8 # Reboot server 8 '''
SNMP: Monitoring integration, polling port status, video codec health, temperature, and PSU status. SNMP traps alert on port disconnect or codec crash.
Authentication: RADIUS or LDAP backend ensures corporate user credentials control access. Role-based access control (RBAC) is common: junior engineers can power-on/off servers, only senior staff can reset the KVM firmware.
Datacentre Deployment
Hyperscale datacentres (AWS, Google, Meta) run enormous KVM clusters, often one 32-port switch for every 20–30 servers. For a 10,000-server datacentre, that's ~300 KVM switches, all managed by a single central SNMP monitoring system. Fabric vendors (Raritan, APC, Avocent, Aten) operate these ecosystems, with the KVM as one appliance in a broader "intelligent power distribution" and "environmental monitoring" stack.
Smaller organisations (hospitals, banks) maintain 2–4 KVM switches in the primary and backup datacentres, providing 1:16 or 1:32 redundancy for critical systems. Technicians access them via a jump-host SSH server (bastion) running in the DMZ, preventing direct internet access to the management network.
Evolution
As hypervisors (ESX, Hyper-V, KVM) took over datacentres in the 2010s, virtual machine consoles (vSphere Web Console, Hyper-V MSTSC) reduced reliance on physical KVM switches for VM guests. However, bare-metal servers, non-virtualised appliances (network switches, storage arrays, load balancers), and out-of-band management (IPMI, iLO, iDRAC) still feed into KVM switches. The shift is towards management network interfaces (lights-out management) on every server that provide console-like access and power control without a physical KVM, but the KVM persists as a fallback for total network failure scenarios.
Build & assembly graph
expand / collapse · shared sub-assemblies converge · links to related products · est. labourTap an assembly to expand/collapse · tap a part to open it · use “Open page” for any node · drag to pan, scroll to zoom.
Bill of materials
9 top-level lines · 45 rows shown · 222 parts total · indented to 3 levels| # | Item / sub-assembly | Part no. | Qty/assy | Ext. qty | Parts | Type |
|---|---|---|---|---|---|---|
| 1 | Main CPU Module 5 parts | kvm-over-ip-processor | 1× | 1 | 76 | assembly |
| 1.1 | CPU PCB 3 parts | kvm-over-ip-cpu-board | 1× | 1 | 3 | assembly |
| 1.1.1 | Bare PCB | pcb-bare | 1× | 1 | — | part |
| 1.1.2 | Compute SoC Module | soc-module | 1× | 1 | — | part |
| 1.1.3 | System Oscillator | kvm-over-ip-oscillator | 1× | 1 | — | part |
| 1.2 | DRAM Module | kvm-over-ip-dram | 1× | 1 | — | part |
| 1.3 | Boot Flash | kvm-over-ip-flash | 1× | 1 | — | part |
| 1.4 | Real-Time Clock | kvm-over-ip-rtc | 1× | 1 | — | part |
| 1.5 | SMD Passive (R/C/L) | smd-passives | 70× | 70 | — | part |
| 2 | Video Capture and Compression 4 parts | kvm-over-ip-video-capture | 1× | 1 | 34 | assembly |
| 2.1 | Video Input Receiver 2 parts | kvm-over-ip-video-input | 1× | 1 | 31 | assembly |
| 2.1.1 | HDMI PHY Receiver | kvm-over-ip-hdmi-phy | 1× | 1 | — | part |
| 2.1.2 | SMD Passive (R/C/L) | smd-passives | 30× | 30 | — | part |
| 2.2 | Video Scaler IC | kvm-over-ip-scaler | 1× | 1 | — | part |
| 2.3 | Hardware Video Encoder | kvm-over-ip-encoder | 1× | 1 | — | part |
| 2.4 | Video Frame Buffer | kvm-over-ip-video-memory | 1× | 1 | — | part |
| 3 | USB Keyboard/Mouse Emulation 4 parts | kvm-over-ip-usb-emulation | 1× | 1 | 36 | assembly |
| 3.1 | USB Host Controller | kvm-over-ip-usb-controller | 1× | 1 | — | part |
| 3.2 | USB Hub | kvm-over-ip-usb-hub | 1× | 1 | — | part |
| 3.3 | USB Type A Port | kvm-over-ip-usb-connector | 4× | 4 | — | part |
| 3.4 | SMD Passive (R/C/L) | smd-passives | 30× | 30 | — | part |
| 4 | Network Interface 4 parts | kvm-over-ip-network | 1× | 1 | 46 | assembly |
| 4.1 | Gigabit PHY Transceiver | kvm-over-ip-eth-phy | 2× | 2 | — | part |
| 4.2 | Magnetic Isolation + SPD | kvm-over-ip-eth-magnetics | 2× | 2 | — | part |
| 4.3 | RJ-45 Connector | kvm-over-ip-eth-connectors | 2× | 2 | — | part |
| 4.4 | SMD Passive (R/C/L) | smd-passives | 40× | 40 | — | part |
| 5 | Server Port Module 4 parts | kvm-over-ip-port-cards | 4× | 4 | 4 | assembly |
| 5.1 | Video Input Jack | kvm-over-ip-port-video-jack | 1× | 4 | — | part |
| 5.2 | USB Output Connector | kvm-over-ip-port-usb-jack | 1× | 4 | — | part |
| 5.3 | Power Control Relay | kvm-over-ip-port-power-relay | 1× | 4 | — | part |
| 5.4 | Backplane Port Connector | kvm-over-ip-port-connector | 1× | 4 | — | part |
| 6 | Redundant Power Supplies 3 parts | kvm-over-ip-power | 1× | 1 | 5 | assembly |
| 6.1 | PSU Module | kvm-over-ip-psu-modules | 2× | 2 | — | part |
| 6.2 | PSU Combining Logic | kvm-over-ip-psu-combining | 1× | 1 | — | part |
| 6.3 | Thermal Fuse | thermal-fuse | 2× | 2 | — | part |
| 7 | 2U Rack Chassis 4 parts | kvm-over-ip-chassis | 1× | 1 | 5 | assembly |
| 7.1 | Rack Frame | kvm-over-ip-chassis-frame | 1× | 1 | — | part |
| 7.2 | Perforated Covers | kvm-over-ip-chassis-covers | 1× | 1 | — | part |
| 7.3 | Cooling Fan | kvm-over-ip-chassis-fan | 2× | 2 | — | part |
| 7.4 | Fastener Set | fastener-set | 1× | 1 | — | part |
| 8 | Management Interface 3 parts | kvm-over-ip-management | 1× | 1 | 3 | assembly |
| 8.1 | HTTPS Web Server | kvm-over-ip-web-server | 1× | 1 | — | part |
| 8.2 | Authentication Backend | kvm-over-ip-auth-backend | 1× | 1 | — | part |
| 8.3 | WebSocket Video Streaming | kvm-over-ip-websocket | 1× | 1 | — | part |
| 9 | Fastener Set | fastener-set | 1× | 1 | — | part |
Sourcing — likely vendors
Companies that make this · indicative price $20–$3k · MOQ & lead are typical| Vendor | HQ | Specialty | MOQ | Lead time |
|---|---|---|---|---|
| dell.com ↗ | Round Rock, US | Computers & infrastructure | 1,000 units | 8–14 wks |
| 🇺🇸HP hp.com ↗ | Palo Alto, US | Computers & printers | 1,000 units | 8–14 wks |
| 🇨🇳Lenovo lenovo.com ↗ | Beijing, CN | Computers | 1,000 units | 8–14 wks |
| 🇹🇼ASUS asus.com ↗ | Taipei, TW | Computers & components | 1,000 units | 8–14 wks |
| 🇨🇳Foxconn foxconn.com ↗ | Shenzhen, CN | Electronics contract mfg | 1,000 units | 8–14 wks |
1,338-word article