He trabajado en unidades KVM comerciales y puedo dar fe de que su diseño y puesta en marcha son mucho más que un ejercicio trivial.
Uno de los retos de un diseño de este tipo es capturar las formas de onda analógicas de las señales de vídeo VGA/SVGA/XGA/WXGA de un ordenador arbitrario y convertirlas a un formato digital que pueda procesarse en el dominio digital. La buena noticia es que existen chips que pueden hacer este trabajo por ti. Uno de ellos es de Analog Devices llamó al ADV7604 . Esta en particular puede seleccionar una de las cuatro fuentes de vídeo y digitalizarla en tres flujos de datos paralelos de 12 bits, uno para cada R, G y B. La pieza admite digitalizaciones de hasta 170 MHz.
Otro reto que plantea el diseño de una unidad KVM es la captura de la información de píxeles digitales de alta velocidad en un búfer de memoria donde pueda procesarse antes de enviarla por la red al sitio remoto. Es necesario utilizar algo como una FPGA de alto rendimiento conectada a una SDRAM para la captura de fotogramas y la compresión de vídeo. La transferencia en tiempo real de la información completa de los fotogramas de vídeo no es práctica en las redes públicas. Sólo para vídeo de hasta 170 MHz * 36 bits que corresponde a una velocidad de datos en bruto de 6,12 gigabits por segundo. Las unidades KVM que funcionan correctamente almacenan los fotogramas de vídeo anteriores y los comparan con el fotograma de vídeo actual, calculando sólo las diferencias entre fotogramas. Esas diferencias son las que se envían a través de la red junto con la información de sincronización y las señales capturadas del teclado y el ratón.
Dado que se necesita un procesamiento especial para preparar los datos de diferencia de vídeo más la sincronización y la información de tecla/ratón en paquetes para el transporte a través de Ethernet, es necesario utilizar un dispositivo procesador especial para conectar entre su FPGA y la red. Hay varias empresas que fabrican estos procesadores como productos especiales que los fabricantes de KVM integran en sus unidades KVM. Algunos de estos dispositivos pueden contener lógica personalizada para sustituir a la FPGA de alta velocidad mencionada anteriormente. Es común que estos procesadores KVM utilicen una CPU de clase ARM 9 con motores DMA especiales dedicados para mover los datos de diferencia de vídeo de los búferes de captura al puerto de red.
Las unidades KVM suelen capturar el ratón y el teclado como señales USB que hay que convertir al formato adecuado para incluirlas con los datos de vídeo enviados a través de la red. Los procesadores de tipo KVM incluyen los puertos USB para soportar esta captura.
Como te habrás dado cuenta, la CPU de alto rendimiento del procesador KVM necesita un buen software integrado una vez que has superado la tarea de reunir todas las partes hardware del diseño. En los proyectos en los que he trabajado, un talentoso equipo de desarrolladores de software ha tardado un año o más en perfeccionar todo el software para un KVM de éxito.
Espero que esto te ayude a ver los pasos que puedes dar si decides embarcarte en el excitante camino de hacer tu propia unidad KVM remota para ahorrarte los pocos cientos de dólares de comprar una ya hecha. Si decide renunciar al trabajo de diseño y comprar al final que está bien también. Te sugiero que busques y eches un vistazo al producto Lantronix Spider. Se trata de una buena unidad KVM de tipo IP que he utilizado y combinado con otro producto que había diseñado. Tenga en cuenta que no tengo ninguna afiliación con Lantronix aparte de ser un usuario / cliente.