CN109120595A - 一种实现kvm功能的usb设备通信方法与装置 - Google Patents

一种实现kvm功能的usb设备通信方法与装置 Download PDF

Info

Publication number
CN109120595A
CN109120595A CN201810788279.2A CN201810788279A CN109120595A CN 109120595 A CN109120595 A CN 109120595A CN 201810788279 A CN201810788279 A CN 201810788279A CN 109120595 A CN109120595 A CN 109120595A
Authority
CN
China
Prior art keywords
kvm
usb
data packet
data
icp
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.)
Pending
Application number
CN201810788279.2A
Other languages
English (en)
Inventor
任也
丛戎
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810788279.2A priority Critical patent/CN109120595A/zh
Publication of CN109120595A publication Critical patent/CN109120595A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种实现KVM功能的USB设备通信方法与装置包括:通过被监控端的TCP/IP协议栈从监控端持续获取数据包;从每个数据包中解析出相对应的内容数据;过滤出内容数据中包括KVM相关信息的数据包,将被过滤出的数据包发送到被监控端的USB端点驱动,并且将过滤后的数据包通过TCP/IP协议栈发送至被监控端的守护进程。本发明能够针对不同服务器或不同类型的服务器的BMC进行通信与控制,减低系统资源需求、缩减控制延迟、提高传输效率。

Description

一种实现KVM功能的USB设备通信方法与装置
技术领域
本发明涉及计算机领域,更具体地,特别是指一种实现KVM功能的USB设备通信方法与装置。
背景技术
高性能服务器,相对于普通PC而言,有更多更复杂的硬件需要监视和控制,比如系统的温度、电压、风扇、电源,并进行相应的调节;还有记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。这些平台管理的功能都可以集成到BMC(基板控制管理器)上实现。
BMC是自带处理器的独立系统,不依赖于其管理的服务器上的硬件,也不依赖于服务器上的BIOS(基本输入输出系统)和OS(操作系统),但是又可以和BIOS和OS交互。BMC的必备功能之一是KVM(键盘、视频、鼠标),KVM是指通过一套键盘、鼠标、显示器来控制多台服务器。现有技术中的‘KVM over IP’功能是把KVM功能建立在IP网络上来进行远程控制管理。‘KVM over IP’的功能是将本地的、用来监控远程服务器用的PC的键盘、鼠标的信号通过网络传送给远程被监控的服务器,服务器根据这些信号做出相应处理,同时把产生的视频信号通过网络传送到本地PC的显示器上。
现有技术的‘KVM over IP’功能在BMC端传输KVM信号的过程中涉及了两次用户空间和内核空间之间的数据传输,在传输的信息量较大时会出现性能瓶颈,造成系统资源不足、控制延迟高、传输效率低等问题。针对现有技术中的‘KVM over IP’导致系统资源不足、控制延迟高、传输效率低等问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种实现KVM功能的USB设备通信方法与装置,能够针对不同服务器或不同类型的服务器的BMC进行通信与控制,减低系统资源需求、缩减控制延迟、提高传输效率。
基于上述目的,本发明的一方面提供了一种实现KVM功能的USB设备通信方法,包括以下步骤:
通过被监控端的TCP/IP协议栈从监控端持续获取数据包;
从每个数据包中解析出相对应的内容数据;
过滤出内容数据中包括KVM相关信息的数据包,将被过滤出的数据包发送到被监控端的USB端点驱动,并且将过滤后的数据包通过TCP/IP协议栈发送至被监控端的守护进程。
在一些实施方式中,通过被监控端的TCP/IP协议栈从监控端持续获取数据包为:使用netfilter架构的接口与TCP/IP协议栈连接并持续接收数据包。
在一些实施方式中,被监控端的TCP/IP协议栈通过被监控端和监控端的网卡来连接到监控端的TCP/IP协议栈。
在一些实施方式中,监控端设有用于通过预订协议生成包括KVM相关信息的内容数据的应用,应用从监控端的USB端点驱动接收KVM相关信息并将包括KVM相关信息的内容数据通过监控端的TCP/IP协议栈发出。
在一些实施方式中,过滤出内容数据中包括KVM相关信息的数据包为:尝试使用与应用相同的预订协议从每个内容数据中提取KVM相关信息,能提取出KVM相关信息则认为该内容数据中包括KVM相关信息并过滤出与相应的数据包。
在一些实施方式中,将被过滤出的数据包发送到被监控端的USB端点驱动为:调用USB端点驱动的内部函数作为接口来发送数据包。
在一些实施方式中,守护进程占用的物理内存区域与TCP/IP协议栈和USB端点驱动占用的物理内存区域不同;执行方法所占用的物理内存区域与TCP/IP协议栈和USB端点驱动占用的物理内存区域相同。
在一些实施方式中,USB端点驱动通过USB集线器连接到被监控端的USB总线。
本发明实施例的另一方面,还提供了一种实现KVM功能的USB设备通信装置,该装置包括运行在被监控端的内核空间中的网络包过滤驱动,网络包过滤驱动在同样被存储在被监控端的内核空间中的TCP/IP协议栈和USB端点驱动之间建立数据连接,其中网络包过滤驱动在被监控端获取数据包时执行上述的实现KVM功能的USB设备通信方法。
本发明实施例的另一方面,还提供了一种网络包过滤驱动,在被监控端的内核空间中数据连接到TCP/IP协议栈和USB端点驱动,其中网络包过滤驱动在被执行时执行上述的实现KVM功能的USB设备通信方法。
本发明具有以下有益技术效果:本发明实施例提供的实现KVM功能的USB设备通信方法与装置,通过被监控端的TCP/IP协议栈从监控端持续获取数据包,从每个数据包中解析出相对应的内容数据,过滤出包括KVM相关信息的数据包并进行处理的技术方案,能够针对不同服务器或不同类型的服务器的BMC进行通信与控制,减低系统资源需求、缩减控制延迟、提高传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的USB设备通信的结构示意图;
图2为本发明提供的实现KVM功能的USB设备通信方法的流程示意图;
图3为本发明提供的实现KVM功能的USB设备通信装置的结构示意图;
图4为本发明提供的执行所述实现KVM功能的USB设备通信方法的计算机设备的一个实施例的硬件结构示意图。
具体实施方式
图1为现有技术中的USB设备通信的结构示意图。如图1所示,在服务器的BMC上运行有等待网络连接的守护进程,当监控端PC的client发来建立‘KVM over IP’连接请求时,BMC的守护进程和发送请求的client建立基于TCP/IP的网络连接。守护进程把BMC准备好的APP传输给监控端PC,监控端的client接收、安装、运行APP,该APP从监控端PC的USB端点驱动获取PC本地的USB键盘和鼠标的设备信息(包括设备描述符和设备动作信息等),然后APP通过TCP/IP协议把获取到的USB设备信息传送给BMC的守护进程,守护进程根据与APP共用的预定协议识别出这些USB设备信息后,将这些信息传递给BMC的USB端点驱动,USB端点驱动模拟出一个物理的USB设备并与底层的USB hub(集线器)驱动通信,USB hub驱动和服务器的USB总线交互。由此,监控端PC的键盘和鼠标就相当于直接连入了服务器本地的USB总线,服务器可以按照监控端PC的键盘和鼠标的动作做出相应反应。
现有技术中的问题在于,在BMC内部的处理流程中,远端的USB设备的信息是在由守护进程从TCP/IP协议栈获取之后传输给USB端点驱动的。由于这里的守护进程是一个用户进程,它的数据驻留在用户空间而TCP/IP协议栈和USB端点驱动驻留在内核空间。因此现有技术的控制过程涉及了两次用户空间和内核空间之间的数据传输,当传输的USB的信息量较大时会导致服务器的性能遇到瓶颈。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种能够针对不同服务器或不同类型的服务器的BMC进行通信与控制的方法的实施例。图2示出的是本发明提供的实现KVM功能的USB设备通信方法的实施例的流程示意图。
所述实现KVM功能的USB设备通信方法,如图2所示,包括以下步骤:
步骤S201,通过被监控端的TCP/IP协议栈从监控端持续获取数据包;
步骤S203,从每个数据包中解析出相对应的内容数据;
步骤S205,过滤出内容数据中包括KVM相关信息的数据包,将被过滤出的数据包发送到被监控端的USB端点驱动,并且将过滤后的数据包通过TCP/IP协议栈发送至被监控端的守护进程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
本发明实施例的结构如图3所示。在BMC的用户空间驻留网络包过滤驱动,网络包过滤驱动用于截获payload内容(即数据包的内容数据)是USB设备信息的网络包并传送给USB端点驱动。这使得设备通信过程完全在内核空间内部执行,USB设备信息不用经由驻留在用户空间的守护进程传输给USB端点驱动,因此节省了系统资源与时间。当然,其他的网络包依然正常传给守护进程以满足BMC的其他基于网络连接的功能。
在一些实施方式中,通过被监控端的TCP/IP协议栈从监控端持续获取数据包为:使用netfilter架构的接口与TCP/IP协议栈连接并持续接收数据包。在一些实施方式中,被监控端的TCP/IP协议栈通过被监控端和监控端的网卡来连接到监控端的TCP/IP协议栈。
网络包过滤驱动需要实现与TCP/IP协议栈的接口和与USB端点驱动的接口。网络包过滤驱动和TCP/IP协议栈的接口采用netfilter架构,该架构从IP层的LOCAL_IN检测点截获sk_buff结构并调用相应的处理函数。处理函数首先解析出payload,然后根据与APP共用的预定协议判断payload是否包括KVM相关信息,是则传送给USB端点驱动,否则继续上传至守护进程。
在一些实施方式中,监控端设有用于通过预订协议生成包括KVM相关信息的内容数据的应用,应用从监控端的USB端点驱动接收KVM相关信息并将包括KVM相关信息的内容数据通过监控端的TCP/IP协议栈发出。
这里的公开所描述的各种示例性方法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性方法步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一些实施方式中,过滤出内容数据中包括KVM相关信息的数据包为:尝试使用与应用相同的预订协议从每个内容数据中提取KVM相关信息,能提取出KVM相关信息则认为该内容数据中包括KVM相关信息并过滤出与相应的数据包。在一些实施方式中,将被过滤出的数据包发送到被监控端的USB端点驱动为:调用USB端点驱动的内部函数作为接口来发送数据包。网络包过滤驱动和usb endpoint驱动的接口为直接调用USB端点驱动的内部函数。
另外,这种网络包过滤驱动可设计成动态加载模块供用户选择性使用。同时守护进程需要增加对用户开放的可配置选项,配合网络包过滤驱动的加载与否来使用。
在一些实施方式中,守护进程占用的物理内存区域与TCP/IP协议栈和USB端点驱动占用的物理内存区域不同;执行方法所占用的物理内存区域与TCP/IP协议栈和USB端点驱动占用的物理内存区域相同。
应当明白,用户空间和内核空间占用了不同的物理内存区域。当在驻留在内核空间内的进程之间传输数据时,实际上被传输的不是目标数据本身,而是目标数据在物理内存区域中所占据的地址,这个地址起到了指针的作用:驻留在内核空间内的两个进程都可以根据地址指针来自由访问目标数据。但是在用户空间和内核空间之间进行数据传输时,由于驻留在用户空间内的进程不能访问存储在内核空间所对应的物理内存区域中的数据,这种数据传输就不能仅传输指针,而需要物理性地复制数据的全部内容。而在本发明实施例的KVM相关信息的数据包中,这显然是毫无必要的。
在一些实施方式中,USB端点驱动通过USB集线器连接到被监控端的USB总线。
从上述实施例可以看出,本发明实施例提供的实现KVM功能的USB设备通信方法,通过被监控端的TCP/IP协议栈从监控端持续获取数据包,从每个数据包中解析出相对应的内容数据,过滤出包括KVM相关信息的数据包并进行处理的技术方案,能够针对不同服务器或不同类型的服务器的BMC进行通信与控制,减低系统资源需求、缩减控制延迟、提高传输效率。
需要特别指出的是,上述实现KVM功能的USB设备通信方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于实现KVM功能的USB设备通信方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种能够针对不同服务器或不同类型的服务器的BMC进行通信与控制的装置的实施例。图3示出的是本发明提供的实现KVM功能的USB设备通信装置的实施例的结构示意图。该装置包括被存储在被监控端的内核空间中的网络包过滤驱动。网络包过滤驱动在同样被存储在被监控端的内核空间中的TCP/IP协议栈和USB端点驱动之间建立数据连接。其中,网络包过滤驱动在被监控端获取数据包时执行上述的实现KVM功能的USB设备通信方法。
本发明实施例公开所述的装置和设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如独立于现有服务器的缓存服务器,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置。本发明实施例公开所述的浏览器可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
基于上述目的,本发明实施例的第三个方面,提出了一种网络包过滤驱动的实施例。网络包过滤驱动在被监控端的内核空间中数据连接到TCP/IP协议栈和USB端点驱动。其中,网络包过滤驱动在被执行时执行上述的实现KVM功能的USB设备通信方法。
这里公开的网络包过滤驱动的方法或算法步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。所述存储介质也可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。处理器和存储介质也可以作为分立组件驻留在用户终端中。
从上述实施例可以看出,本发明实施例提供的实现KVM功能的USB设备通信装置与网络包过滤驱动,通过被监控端的TCP/IP协议栈从监控端持续获取数据包,从每个数据包中解析出相对应的内容数据,过滤出包括KVM相关信息的数据包并进行处理的技术方案,能够针对不同服务器或不同类型的服务器的BMC进行通信与控制,减低系统资源需求、缩减控制延迟、提高传输效率。
需要特别指出的是,上述实现KVM功能的USB设备通信装置的实施例采用了所述实现KVM功能的USB设备通信方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述实现KVM功能的USB设备通信方法的其他实施例中。当然,由于所述实现KVM功能的USB设备通信方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述实现KVM功能的USB设备通信装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第四个方面,提出了一种执行所述实现KVM功能的USB设备通信方法的计算机设备的一个实施例。
所述执行所述实现KVM功能的USB设备通信方法的计算机设备包括存储器、至少一个处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一种方法。
如图4所示,为本发明提供的执行所述实现KVM功能的USB设备通信方法的计算机设备的一个实施例的硬件结构示意图。
以如图4所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。
处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述实现KVM功能的USB设备通信方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的实现KVM功能的USB设备通信方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现KVM功能的USB设备通信装置的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置403可接收输入的数字或字符信息,以及产生与实现KVM功能的USB设备通信装置的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
所述一个或者多个实现KVM功能的USB设备通信方法对应的程序指令/模块存储在所述存储器402中,当被所述处理器401执行时,执行上述任意方法实施例中的实现KVM功能的USB设备通信方法。
所述执行所述实现KVM功能的USB设备通信方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种实现KVM功能的USB设备通信方法,其特征在于,包括以下步骤:
通过被监控端的TCP/IP协议栈从监控端持续获取数据包;
从每个所述数据包中解析出相对应的内容数据;
过滤出所述内容数据中包括KVM相关信息的数据包,将被过滤出的数据包发送到被监控端的USB端点驱动,并且将过滤后的数据包通过所述TCP/IP协议栈发送至被监控端的守护进程。
2.根据权利要求1所述的方法,其特征在于,通过被监控端的所述TCP/IP协议栈从监控端持续获取数据包为:使用netfilter架构的接口与所述TCP/IP协议栈连接并持续接收数据包。
3.根据权利要求1所述的方法,其特征在于,被监控端的所述TCP/IP协议栈通过被监控端和监控端的网卡来连接到监控端的TCP/IP协议栈。
4.根据权利要求1所述的方法,其特征在于,监控端设有用于通过预订协议生成包括KVM相关信息的内容数据的应用,所述应用从监控端的USB端点驱动接收KVM相关信息并将包括KVM相关信息的内容数据通过监控端的TCP/IP协议栈发出。
5.根据权利要求4所述的方法,其特征在于,过滤出所述内容数据中包括KVM相关信息的数据包为:尝试使用与所述应用相同的预订协议从每个所述内容数据中提取KVM相关信息,能提取出KVM相关信息则认为该内容数据中包括KVM相关信息并过滤出与相应的所述数据包。
6.根据权利要求1所述的方法,其特征在于,将被过滤出的所述数据包发送到被监控端的所述USB端点驱动为:调用所述USB端点驱动的内部函数作为接口来发送所述数据包。
7.根据权利要求1所述的方法,其特征在于,所述守护进程占用的物理内存区域与所述TCP/IP协议栈和所述USB端点驱动占用的物理内存区域不同;执行所述方法所占用的物理内存区域与所述TCP/IP协议栈和所述USB端点驱动占用的物理内存区域相同。
8.根据权利要求1所述的方法,其特征在于,所述USB端点驱动通过USB集线器连接到被监控端的USB总线。
9.一种实现KVM功能的USB设备通信装置,其特征在于,包括被存储在被监控端的内核空间中的网络包过滤驱动,所述网络包过滤驱动在同样被存储在被监控端的内核空间中的TCP/IP协议栈和USB端点驱动之间建立数据连接,其中所述网络包过滤驱动在被监控端获取数据包时执行如权利要求1-8中任意一项所述的实现KVM功能的USB设备通信方法。
10.一种网络包过滤驱动,其特征在于,在被监控端的内核空间中数据连接到TCP/IP协议栈和USB端点驱动,其中所述网络包过滤驱动在被执行时执行如权利要求1-8中任意一项所述的实现KVM功能的USB设备通信方法。
CN201810788279.2A 2018-07-18 2018-07-18 一种实现kvm功能的usb设备通信方法与装置 Pending CN109120595A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810788279.2A CN109120595A (zh) 2018-07-18 2018-07-18 一种实现kvm功能的usb设备通信方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810788279.2A CN109120595A (zh) 2018-07-18 2018-07-18 一种实现kvm功能的usb设备通信方法与装置

Publications (1)

Publication Number Publication Date
CN109120595A true CN109120595A (zh) 2019-01-01

Family

ID=64862917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810788279.2A Pending CN109120595A (zh) 2018-07-18 2018-07-18 一种实现kvm功能的usb设备通信方法与装置

Country Status (1)

Country Link
CN (1) CN109120595A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489305A (zh) * 2019-08-23 2019-11-22 北京首都在线科技股份有限公司 一种服务器管理方法及装置
CN113395236A (zh) * 2020-03-12 2021-09-14 杭州海康威视数字技术股份有限公司 一种usb数据透传的方法、系统、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777187A (zh) * 2005-12-14 2006-05-24 中国科学院计算技术研究所 基于网格计算机体系的计算机外设部件连接系统及方法
CN101902491A (zh) * 2009-05-26 2010-12-01 深圳市汉普电子技术开发有限公司 一种远程管理系统和控制装置
CN102447627A (zh) * 2011-12-05 2012-05-09 上海顶竹通讯技术有限公司 报文封装和解封装的装置及方法
US20120173755A1 (en) * 2005-11-30 2012-07-05 Microsoft Corporation Multi-User Display Proxy Server
CN108287619A (zh) * 2018-02-01 2018-07-17 郑州云海信息技术有限公司 一种控制服务器kvm系统的方法、系统及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120173755A1 (en) * 2005-11-30 2012-07-05 Microsoft Corporation Multi-User Display Proxy Server
CN1777187A (zh) * 2005-12-14 2006-05-24 中国科学院计算技术研究所 基于网格计算机体系的计算机外设部件连接系统及方法
CN101902491A (zh) * 2009-05-26 2010-12-01 深圳市汉普电子技术开发有限公司 一种远程管理系统和控制装置
CN102447627A (zh) * 2011-12-05 2012-05-09 上海顶竹通讯技术有限公司 报文封装和解封装的装置及方法
CN108287619A (zh) * 2018-02-01 2018-07-17 郑州云海信息技术有限公司 一种控制服务器kvm系统的方法、系统及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489305A (zh) * 2019-08-23 2019-11-22 北京首都在线科技股份有限公司 一种服务器管理方法及装置
CN110489305B (zh) * 2019-08-23 2021-09-24 北京首都在线科技股份有限公司 一种服务器管理方法及装置
CN113395236A (zh) * 2020-03-12 2021-09-14 杭州海康威视数字技术股份有限公司 一种usb数据透传的方法、系统、装置及存储介质

Similar Documents

Publication Publication Date Title
US7739693B2 (en) Generic application program interface for native drivers
CN108628891A (zh) 实现数据缓存层的方法、装置、电子设备和可读存储介质
CN106529408B (zh) 一种人脸检测的方法及装置
CN107256180A (zh) 数据处理方法、装置及终端
CN110908837B (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN110245020B (zh) 基于多个取证设备的手机内容取证方法和系统
EP2899944A1 (en) Socket processing method and device and web server
CN109120595A (zh) 一种实现kvm功能的usb设备通信方法与装置
CN103051692A (zh) 支持极限网络环境的移动作业系统工作平台
CN107894945A (zh) 埋点添加方法、移动终端及计算机可读存储介质
CN108924043A (zh) 系统监控方法、网关通信、网关装置、业务处理设备
CN102314382A (zh) 一种紧急探查系统信息的方法及模块
US8813029B2 (en) Remote card content management using synchronous server-side scripting
CN106375866A (zh) 一种加载页面方法及终端
CN103544098A (zh) 一种压力测试的方法和装置
CN107391272A (zh) 多进程数据交互的方法和终端
CN110442819A (zh) 数据处理方法、装置、存储介质及终端
CN106169048B (zh) 文件删除方法、装置及电子设备
CN111026945B (zh) 多平台爬虫调度方法、装置和存储介质
CN106716983B (zh) 通信终端设备以及通信系统
US8498622B2 (en) Data processing system with synchronization policy
WO2013034006A1 (zh) 文件打开方法、装置及终端
CN103345417A (zh) 一种存储空间回收方法及设备
CN102843417B (zh) 电子设备的远程操作方法
CN109426563A (zh) 一种进程管理方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190101

RJ01 Rejection of invention patent application after publication