一种控制方法、装置和系统的制作方法

文档序号:7806766阅读:109来源:国知局
一种控制方法、装置和系统的制作方法
【专利摘要】本发明公开了一种控制方法、装置和系统。本发明实施例采用在发送给RNDIS设备的网络数据包中封装控制命令,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
【专利说明】一种控制方法、装置和系统
【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种控制方法、装置和系统。
【背景技术】
[0002]远程网络驱动接口 规范(RNDIS, Remote Network Driver Interface Specificat1n)是一种网络设备规范,它要求RNDIS设备能够处理来自系统的对象标示符(0ID,Object Identifier Descriptor),从而使得系统提供的驱动程序可以通过兼容模式为不同的RNDIS设备所使用,而不必为特定的RNDIS设备设计单独的驱动程序,而系统则可以向RNDIS设备发送不同的OID以完成特定的功能。
[0003]RNDIS的使用,不仅给用户带来了极大的方便,而且也简化了 RNDIS设备的开发过程,但是,由于RNDIS驱动本身只能传输网络数据,不能传输用户的控制命令,所以,用户的拨号、断开拨号等基本请求无法传递给RNDIS设备,而只能通过其他操作来达到目的,比如用户需要断开网络连接,就只能是通过移除设备的方式才能实现,这给使用带来了一定的不便。
[0004]针对该问题,现有技术提出了将RNDIS驱动作为RNDIS设备的一个接口,而在该RNDIS设备中增加另外的控制接口,用户端设备通过控制接口发送控制命令来对RNDIS设备进行控制。
[0005]在对现有技术的研究和实践过程中,本发明的发明人发现,通过增加控制接口的方式仅仅适用于通用串行总线(USB,Universal Serial BUS)接口的RNDIS设备,而并非所有接口形式的RNDIS设备都可以实现,因此该方案没有普遍的适用性。此外,由于增加了新的控制接口,所以用户需要额外安装该新的控制接口的驱动程序,增加了使用复杂度。

【发明内容】

[0006]本发明实施例提供一种控制方法、装置和系统,不仅具有普遍的适用性,而且可以在不需要安装额外的驱动程序的情况下,实现向RNDIS设备传输控制命令的目的,简化使用过程。
[0007]一种控制方法,包括:
[0008]将控制命令封装在发送给RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制;
[0009]将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。
[0010]一种控制方法,包括:
[0011]将控制命令封装在向光盘(CD, Compact Disc)或人体学输入设备(HID, HumanInput Device)发送的数据包中,所述控制命令用于对RNDIS设备进行控制;
[0012]将封装后的数据包通过RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。
[0013]一种控制方法,包括:[0014]接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对RNDIS设备进行控制的控制命令;
[0015]对所述网络数据包进行解封装,得到所述控制命令;
[0016]根据所述控制命令的指示执行操作。
[0017]一种控制方法,包括:
[0018]通过设置在RNDIS设备上的⑶接口或HID接口接收用户端设备发送的数据包,所述数据包中封装了用于对所述RNDIS设备进行控制的控制命令;
[0019]对所述数据包进行解封装,得到所述控制命令;
[0020]根据所述控制命令的指示执行操作。
[0021]一种用户端设备,包括:
[0022]第一封装单元,用于将控制命令封装在发送给RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制;
[0023]第一发送单元,用于将第一封装单元封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。
[0024]一种用户端设备,包括:
[0025]第二封装单元,用于将控制命令封装在CD或HID接口格式的数据包中,所述控制命令用于对RNDIS设备进行控制;
[0026]第二发送单元,用于将第二封装单元封装后的数据包通过RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。
[0027]一种RNDIS设备,包括:
[0028]第一接收单元,用于接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对RNDIS设备进行控制的控制命令;
[0029]第一解封装单元,用于对第一接收单元接收到的网络数据包进行解封装,得到所述控制命令;
[0030]第一处理单元,用于根据第一解封装单元得到的控制命令的指示执行操作。
[0031]一种RNDIS设备,包括:
[0032]第二接收单元,用于通过⑶接口或HID接口接收用户端设备发送的数据包,所述数据包中封装了用于对RNDIS设备进行控制的控制命令;
[0033]第二解封装单元,用于对第二接收单元接收到的数据包进行解封装,得到所述控制命令;
[0034]第二处理单元,用于根据第二解封装单元得到的控制命令的指示执行操作。
[0035]一种通信系统,包括本发明实施例提供的任一种用户端设备和本发明实施例提供的任一种RNDIS设备。
[0036]本发明实施例采用在发送给RNDIS设备的网络数据包中封装控制命令,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。【专利附图】

【附图说明】
[0037]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本发明实施例一提供的控制方法的流程图;
[0039]图2是本发明实施例二提供的控制方法的流程图;
[0040]图3a是本发明实施例三提供的控制方法的流程图;
[0041]图3b是PC与RNDIS设备进行通信的场景示意图;
[0042]图3c是一种使用UDP数据包封装AT命令的数据包格式;
[0043]图4是本发明实施例四提供的控制方法的流程图;
[0044]图5是本发明实施例五提供的控制方法的流程图;
[0045]图6a是PC与RNDIS设备进行通信的场景示意图;
[0046]图6b是本发明实施例四提供的控制方法的流程图;
[0047]图7a是本发明实施例提供的用户端设备的结构示意图;
[0048]图7b是本发明实施例提供的用户端设备的另一结构示意图;
[0049]图8是本发明实施例提供的用户端设备的又一结构示意图;
[0050]图9是本发明实施例提供的RNDIS设备的结构示意图;
[0051]图10是本发明实施例提供的RNDIS设备的另一结构示意图;
[0052]图11是本发明实施例提供的通信系统的结构示意图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]本发明实施例提供一种控制方法、装置和系统。以下分别进行详细说明。
[0055]实施例一、
[0056]本实施例将从用户端设备的角度进行描述,该用户端设备具体可以为个人计算机(PC, Personal Computer)、便携计算机等终端设备。
[0057]一种控制方法,包括:将用于对RNDIS设备进行控制的控制命令封装在发送给RNDIS设备的网络数据包中,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。
[0058]参见图1,具体流程可以如下:
[0059]101、将控制命令封装在发送给RNDIS设备的网络数据包中;
[0060]例如,可以将控制命令封装在发送给RNDIS设备的基于连接的传输控制协议(TCP, Transmiss1n Control Protocol)数据包中;或者,
[0061]将控制命令封装在发送给RNDIS设备的基于无连接的用户数据包协议(UDP,UserDatagram Protocol)数据包中。
[0062]其中,该控制命令用于对RNDIS设备进行控制,比如,具体可以为AT命令、诊断(DIAG,Diagnose)命令以及其他的自定义命令。
[0063]102、将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制;比如请求对RNDIS设备进行拨号、解个人标识号(PIN, personal identificat1n number)码、或断开拨号等操作。
[0064]可选的,在步骤101之前,即在发送给RNDIS设备的网络数据包中封装控制命令之前,还可以包括:建立与RNDIS设备的网络通信端口 ;其中,网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。具体的建立方法可参见现有技术,在此不再赘述;
[0065]则此时,步骤101具体可以为:在通过该网络通信端口发送的网络数据包中封装控制命令。
[0066]由上可知,本实施例采用在发送给RNDIS设备的网络数据包中封装控制命令,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
[0067]实施例二、
[0068]本实施例将从RNDIS设备的角度进行描述,该RNDIS设备具体可以为使用了 RNDIS的端口的无线上网卡。
[0069]一种控制方法,包括:接收用户端设备发送的网络数据包,其中,该网络数据包中封装了用于对RNDIS设备进行控制的控制命令;对接收到的网络数据包进行解封装,得到控制命令;根据控制命令的指示执行操作。
[0070]参见图2,具体流程可以如下:
[0071]201、接收用户端设备发送的网络数据包,其中,网络数据包中封装了用于对RNDIS设备进行控制的控制命令,比如,AT命令、DIAG命令以及其他的自定义命令。
[0072]例如,可以接收用户端设备发送的基于连接的TCP数据包,其中,该TCP数据包中封装了用于对RNDIS设备进行控制的控制命令;或者,
[0073]也可以接收用户端设备发送的基于无连接的UDP数据包,其中,该UDP数据包中封装了用于对RNDIS设备进行控制的控制命令。
[0074]具体接收该网络数据包时,可以通过用户端设备和RNDIS设备之间建立的网络通信端口来进行接收。其中,网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。
[0075]202、对接收到的网络数据包进行解封装,得到控制命令;具体可以如下:
[0076]RNDIS设备判断接收到的网络数据包是否携带有控制命令,如果是,则对该网络数据包进行解封装,否则确定该接收到的网络数据包为正常的网络数据,直接发到网络侧。
[0077]203、根据步骤202中得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。[0078]可选的,RNDIS设备还可以返回响应消息,并通过发送广播数据包将设备状态变化上报给系统。
[0079]如,RNDIS设备将响应消息以图3c同样的格式进行封装,然后发送给用户设备。
[0080]由上可知,本实施例采用接收用户端设备发送的封装有控制命令的网络数据包,在对网络数据包进行解封装,并得到控制命令之后,根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且由于无需增加新的控制接口,所以也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
[0081]实施例三、
[0082]根据实施例一和二所描述的方法,以下将举例进行详细说明。
[0083]在本实施例中,将以用户端设备为PC,网络数据包为基于无连接的UDP数据包,控制命令为AT命令为例进行说明。
[0084]参见图3a,具体流程可以如下:
[0085]301、PC建立与RNDIS设备的网络通信端口 ;该网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠,用于与RNDIS设备进行通信。为了描述方便,在本发明实施例中,将该网络通信端口称为RNDIS控制程序的端口。
[0086]例如,参见图3b,该图为了 PC与RNDIS设备进行通信的场景示意图。看图中可以看出,文件传输协议(FTP,File Transfer Protocol)应用程序的端口号为“21”,超文本传输协议(http,HyperText Transfer Protocol)应用程序的端口号为“80”,假设在该PC设备中,已使用的端口号仅为“21”和“80”,则RNDIS控制程序的端口 X可以为除“21”和“80”以外的任意端口。
[0087]由于RNDIS设备是网络设备,因此PC中的应用程序可以直接通过该网络通信端口将网络数据发到RNDIS设备上。
[0088]302、在步骤301建立的网络通信端口上,PC将需要下发给RNDIS设备的自定义的控制命令,如AT命令封装在基于无连接的UDP数据包中。
[0089]例如,参见图3c,该图为一种使用UDP数据包封装AT命令的数据包格式。其中AT标识(AT Flag)字段作为自定义控制命令的标识字段,字段大小可以设定为8字节(Bytes) ;AT命令数据(AT Command Data)字段为自定义控制命令的数据字段,字段大小是变化(Variable)的,即可以根据数据的大小而定,最大可以为1464Bytes。
[0090]在该封装了 AT命令的UDP数据包中,因特网头部(EthernetHeader)字段、网际协议头部(IP Header)字段和UDP头部(UDP Header)字段与现有的UDP数据包格式相同,其中,Ethernet Header字段的大小为14Bytes, IP Header字段的大小为20Bytes, UDPHeader字段的大小为8Bytes。但是,Ethernet Header中的目的媒体接入控制层(MAC,MediaAccess Control)地址需要使用RNDIS设备的MAC地址或者广播地址,以保证该UDP数据包能够被RNDIS设备接收到;同理,IP Header中的目的IP地址也需要使用RNDIS设备的IP地址或者广播地址,以保证该Μ)Ρ数据包能够被RNDIS设备接收到。
[0091]303、PC将封装了 AT命令的UDP数据包发送给RNDIS设备。[0092]304,RNDIS设备接收PC发送的UDP数据包,判断UDP数据包中是否携带AT命令,比如可以判断UDP数据包中的AT标识是否匹配,如果是,则对接收到的UDP数据包进行解封装,得到AT命令,具体的解封装方法可参见现有技术,在此不再赘述;如果UDP数据包中没有携带AT命令,比如UDP数据包中的AT标识不匹配,则确定该UDP数据包为普通的UDP数据包,RNDIS设备直接将该UDP数据包发送给网络侧。
[0093]305、RNDIS设备根据步骤304中得到AT命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
[0094]可选的,RNDIS设备可以通过应答UDP数据包的方式,对相应的AT命令进行响应,并可以通过发送广播数据包的方式将RNDIS设备的设备状态变化上报给PC。
[0095]需说明的是,以上仅仅以网络数据包为基于无连接的UDP数据包为例进行说明,应当理解的是,还可以为其他的网络数据包,比如基于连接的TCP数据包等;另外,控制命令除了可以是AT命令之外,也可以是其他命令,比如DIAG命令以及其他的自定义命令等。
[0096]由上可知,本实施例采用在发送给RNDIS设备的UDP数据包中封装AT命令,然后将封装后的UDP数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将UDP数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口,而是使用RNDIS设备原有的接口,相对于现有技术需要增加额外的控制接口而言,方便了用户的使用。而且,由于无需增加新的控制接口,所以也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度;进一步的,该方案对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
[0097]实施例四、
[0098]除了在用户端设备和RNDIS设备之间建立网络通信端口之外,也可以通过在RNDIS设备上增加光盘(⑶,Compact Disc)接口或人体学输入设备(HID, Human InputDevice)接口的方式来封装和发送控制命令,即将控制命令封装成CD格式或HID接口格式,然后通过⑶接口或HID接口发送给RNDIS设备。
[0099]与实施例一相似的,本实施例也将从用户端设备的角度进行描述,该用户端设备具体可以为PC、便携计算机等终端设备。
[0100]参见图4,一种控制方法,具体流程可以如下:
[0101]401、将控制命令封装在⑶或HID接口格式的数据包中;
[0102]其中,控制命令用于对远程网络驱动接口规范RNDIS设备进行控制,比如,具体可以为AT命令、诊断(DIAG,Diagnose)命令以及其他的自定义命令。
[0103]402、将封装后的数据包通过RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制,比如请求对RNDIS设备进行拨号、解PIN码、或断开拨号等操作。
[0104]由上可知,本实施例采用将控制命令封装在CD或HID接口格式的数据包中,然后通过在RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度。
[0105]实施例五、[0106]与实施例四对应的,本实施例将从RNDIS设备的角度进行描述。
[0107]参见图5,一种控制方法,具体流程可以如下:
[0108]501、通过设置在RNDIS设备上的⑶接口或HID接口接收用户端设备发送的数据包,其中,该数据包中封装了用于对该RNDIS设备进行控制的控制命令;
[0109]需说明的是,这里的数据包指的是⑶格式或HID接口格式的数据包。
[0110]502、对接收到的数据包进行解封装,得到控制命令;比如,AT命令、DIAG命令以及其他的自定义命令。具体可以如下:
[0111]RNDIS设备判断接收到的数据包是否携带有控制命令,如果是,则对该数据包进行解封装,否则确定该接收到的数据包为正常的数据,按现有技术进行处理。
[0112]503、根据步骤502中得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
[0113]由上可知,本实施例采用通过⑶接口或HID接口接收用户端设备发送的封装有控制命令的数据包,在对数据包进行解封装,并得到控制命令之后,根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度,当然,由于该方案需要增加额外的接口,所以相对于实施一、二和三的方法而言,实现较为复杂。
[0114]实施例六、
[0115]根据实施四和五所描述的方法,以下将举例进行详细说明。
[0116]与实施例三类似的,本实施例也将以用户端设备为PC,控制命令为AT命令为例进行说明;与实施例三不同的是,在本实施例中,不建立PC建立与RNDIS设备之间的网络通信端口,而是在RNDIS设备上增加⑶接口或者HID接口。该方案主要适用于支持组合设备形态的接口类型的设备,如USB设备。以下将以用户端设备为PC,控制命令为AT命令为例进行简略说明。
[0117]首先,需要在RNDIS设备上增加CD接口或者HID接口,用于接收封装有控制命令的⑶格式或HID接口格式的数据包,而原有的RNDIS端口则仍用于接收普通的网络数据包,参见图6a,该图为PC与RNDIS设备进行通信的场景示意图。由于PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此这种方案下也无需安装额外的驱动程序。
[0118]参见图6b,具体流程可以如下:
[0119]601、PC将需要下发给RNDIS设备的自定义的控制命令,如AT命令封装在向CD或者HID设备发送的数据包中。
[0120]602、PC将封装了 AT命令的数据包发送给RNDIS设备。
[0121]603,RNDIS设备通过⑶接口或者HID接口接收PC发送的数据包,并判断该数据包是否携带了 AT命令,比如判断该数据包携带的AT标识是否匹配,如果是,则对接收到的数据包进行解封装,得到AT命令,具体的解封装方法可参见现有技术,在此不再赘述;否则,如果判断该数据包没有携带了 AT命令,比如该数据包携带的AT标识不匹配,则确定该数据包为普通的CD或者HID数据,按照现有技术的流程进行处理。
[0122]604、RNDIS设备根据步骤603中得到AT命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。[0123]可选的,RNDIS设备可以通过应答数据包的方式,对相应的AT命令进行响应,并可以通过发送广播数据包的方式将RNDIS设备的设备状态变化上报给PC。
[0124]需说明的是,以上仅仅以AT命令为例进行说明,应当理解的是,还可以是其他命令,比如DIAG命令以及其他的自定义命令等。
[0125]由上可知,本实施例采用在RNDIS设备增加额外的⑶接口或HID接口,在发送给RNDIS设备的数据包中封装AT命令,然后将封装后的数据包通过⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。由于现有的PC系统中已经包含了通用的⑶接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度,当然,由于该方案需要增加额外的接口,所以相对于实施三而言,实现较为复杂。
[0126]实施例七、
[0127]为了更好地实施一至三的方法,本发明实施例还相应地提供一种用户端设备,如图7a所示,该用户端设备包括第一封装单元701和第一发送单元702 ;
[0128]第一封装单元701,用于将控制命令封装在发送给RNDIS设备的网络数据包中,其中,该控制命令用于对RNDIS设备进行控制;
[0129]其中,网络数据包可以是基于连接的TCP数据包或基于无连接的UDP数据包等,控制命令具体可以为AT命令,等等。
[0130]第一发送单元702,用于将第一封装单元701封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制,比如请求对RNDIS设备进行拨号、解PIN码、或断开拨号等操作。
[0131]可选的,参见图7b,该用户端设备还可以包括第一建立单元703 ;
[0132]第一建立单元703,用于建立与RNDIS设备的网络通信端口 ;其中,该网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠,具体的建立方法可参见现有技术,在此不再赘述;
[0133]则此时,第一封装单元701,具体用于在第一建立单元703建立的网络通信端口上的网络数据包中封装控制命令。
[0134]可选的,该用户端设备还可以包括第一接收单元,用于接收RNDIS设备返回的关于控制命令的响应,进一步的,还可以接收RNDIS设备上报的RNDIS设备的设备状态变化。
[0135]以上各个单元的具体实施可参见前面实施例,在此不再赘述。
[0136]由上可知,本实施例的用户端设备的第一封装单元701可以在发送给RNDIS设备的网络数据包中封装控制命令,然后由第一发送单元702将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
[0137]实施例八、
[0138]为了更好地实施四至六的方法,本发明实施例还相应地提供一种用户端设备,如图8所示,该用户端设备包括第二封装单元801和第二发送单元802 ;[0139]第二封装单元801,用于将控制命令封装在CD或HID接口格式的数据包中,其中,控制命令用于对远程网络驱动接口规范RNDIS设备进行控制;比如,具体可以为AT命令、DIAG命令以及其他的自定义命令;
[0140]第二发送单元802,用于将第二封装单元801封装后的数据包通过RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制,比如请求对RNDIS设备进行拨号、解PIN码、或断开拨号等操作。
[0141]由上可知,本实施例提供的用户端设的第二封装单元801采用将控制命令封装在⑶或HID接口格式的数据包中,然后由第二发送单元802通过在RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度。
[0142]实施例九、
[0143]与实施例七相应地,本发明实施例还提供一种RNDIS设备,如图9所示,该RNDIS设备包括第一接收单元901、第一解封装单元902和第一处理单元903 ;
[0144]第一接收单元901,用于接收用户端设备发送的网络数据包,其中,该网络数据包中封装了用于对RNDIS设备进行控制的控制命令,比如AT命令、DIAG命令以及其他的自定义命令等,该网络数据包具体可以是基于连接的TCP数据包或基于无连接的UDP数据包,等
坐寸ο
[0145]第一解封装单元902,用于对第一接收单元901接收到的网络数据包进行解封装,得到控制命令;具体可参见前面实施例,在此不再赘述。
[0146]第一处理单元903,用于根据解封装单元902得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
[0147]其中,接收单元901,具体用于通过用户端设备和RNDIS设备之间建立的网络通信端口接收用户端设备发送的网络数据包;其中,该网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。
[0148]可选的,该RNDIS设备还可以包括第一响应单元,用于返回响应消息给用户端设备,该响应单元还可以通过发送广播数据包将设备状态变化上报给用户端设备。
[0149]以上各个单元的具体实施可参见前面实施例,在此不再赘述。
[0150]该RNDIS设备具体可以为使用了 RNDIS的端口的无线上网卡。
[0151]由上可知,本实施例的RNDIS设备的第一接收单元901可以接收用户端设备发送的封装有控制命令的网络数据包,在第一解封装单元902对该网络数据包进行解封装,并得到控制命令之后,由第一处理单元903根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
[0152]实施例十、
[0153]与实施例八相应地,本发明实施例还提供一种RNDIS设备,如图10所示,该RNDIS设备包括第二接收单元1001、第二解封装单元1002和第二处理单元1003 ;
[0154]第二接收单元1001,用于通过⑶接口或HID接口接收用户端设备发送的数据包,其中,数据包中封装了用于对RNDIS设备进行控制的控制命令;
[0155]需说明的是,这里的数据包指的是⑶格式或HID接口格式的数据包。
[0156]第二解封装单元1002,用于对第二接收单元1001接收到的数据包进行解封装,得到控制命令;比如,AT命令、DIAG命令以及其他的自定义命令;具体可参见前面实施例,在此不再赘述。
[0157]第二处理单元1003,用于根据第二解封装单元1002得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
[0158]该RNDIS设备具体可以为使用了 RNDIS的端口的无线上网卡。
[0159]由上可知,本实施例提供的RNDIS设备的第二接收单元1001采用通过⑶接口或HID接口接收用户端设备发送的封装有控制命令的数据包,在第二解封装单元1002对数据包进行解封装,并得到控制命令之后,由第二处理单元1003根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度。
[0160]实施例1^一、
[0161]相应的,本发明 实施例还提供一种通信系统,如图11所示,包括本发明实施例提供的任一种用户端设备700和任一种RNDIS设备900 ;
[0162]用户端设备700,用于将控制命令封装在发送给RNDIS设备900的网络数据包中或者封装在CD或HID接口格式的数据包中,然后将封装后的网络数据包发送给RNDIS设备900,或者将封装后的数据包通过RNDIS设备上设置的⑶接口或HID接口发送给RNDIS设备,以对RNDIS设备900进行控制;其中,控制命令用于对RNDIS设备900进行控制,该控制命令具体可以为AT命令等,网络数据包具体可以为TCP数据包或UDP数据包,等等。
[0163]RNDIS设备900,用于接收用户端设备700发送的封装了用于对RNDIS设备900进行控制的控制命令的网络数据包或数据包,对该网络数据包或数据包进行解封装,得到控制命令,然后根据控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
[0164]具体实施时,可选的,用户端设备700,还用于建立与RNDIS设备900的网络通信端口,然后在该网络通信端口上的网络数据包中封装控制命令;其中,网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。
[0165]则此时,RNDIS设备900,具体用于通过用户端设备和RNDIS设备之间建立的网络通信端口接收网络数据包。
[0166]可选的,RNDIS设备900,还用于返回响应消息,并通过发送广播数据包将设备状态变化上报给系统;
[0167]则此时,用户端设备700,还用于接收RNDIS设备900返回的响应消息和上报的设备状态变化。
[0168]以上各个单元的具体实施可参见前面实施例,在此不再赘述。
[0169]由上可知,本实施例的通信系统的用户端设备700采用将控制命令封装在发送给RNDIS设备900的网络数据包,然后将封装后的UDP数据包发送给RNDIS设备900,以对RNDIS设备900进行控制。由于在现有的网络架构中,用户端设备700本来就可以直接将网络数据包发送给RNDIS设备900,所以采用该方案无需额外增加新的控制接口,而是使用RNDIS设备900原有的接口,相对于现有技术需要增加额外的控制接口而言,方便了用户的使用。而且,也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度;进一步的,该方案对RNDIS设备900没有特殊的要求,具有普遍的适用性,实现较为简单。
[0170]需说明的是,即使在本发明实施例中,也提出可以通过新增额外的⑶或HID接口来建立控制通道,但是由于现有的用户端设备700的系统中已经包含了通用的⑶接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,也同样可以达到降低了使用的复杂度的目的。
[0171]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM, Read Only Memory)、随机存取记忆体(RAM, Random AccessMemory)、磁盘或光盘等。
[0172]以上对本发明实施例所提供的一种控制方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种控制方法,其特征在于,包括: 将控制命令封装在要发送给远程网络驱动接口规范RNDis设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制; 将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制; 其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
2.根据权利要求1所述的方法,其特征在于,所述将控制命令封装在发送给RNDIS设备的网络数据包中包括: 将控制命令封装在发送给RNDIS设备的基于无连接的用户数据包协议UDP数据包中。
3.根据权利要求1或2所述的方法,其特征在于,所述将控制命令封装在发送给RNDIS设备的网络数据包中之前 ,还包括: 建立与RNDIS设备的网络通信端口 ; 贝U,所述将控制命令封装在发送给RNDIS设备的网络数据包中具体为:在所述网络通信端口上的网络数据包中封装控制命令。
4.根据权利要求1-3任一所述的方法,其特征在于,所述控制命令用于对RNDIS设备进行控制,具体为,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
5.—种控制方法,其特征在于,包括: 接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对远程网络驱动接口规范RNDIS设备进行控制的控制命令; 对所述网络数据包进行解封装,得到所述控制命令; 根据所述控制命令的指示执行操作; 其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
6.根据权利要求5所述的方法,其特征在于,所述接收用户端设备发送的网络数据包包括: 接收用户端设备发送的基于无连接的用户数据包协议UDP数据包,所述UDP数据包中封装了用于对RNDIS设备进行控制的控制命令。
7.根据权利要求5或6所述的方法,其特征在于,所述接收用户端设备发送的网络数据包包括: 通过用户端设备和RNDIS设备之间建立的网络通信端口接收用户端设备发送的网络数据包。
8.根据权利要求5-7任一所述的方法,其特征在于,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
9.一种用户端设备,其特征在于,包括: 第一封装单元,用于将控制命令封装在在发送给远程网络驱动接口规范RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制; 第一发送单元,用于将第一封装单元封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制; 其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
10.根据权利要求9所述的用户端设备,其特征在于,还包括第一建立单元; 所述第一建立单元,用于建立与RNDIS设备的网络通信端口 ; 贝U,所述第一封装单元,具体用于在第一建立单元建立的网络通信端口上的网络数据包中封装控制命令。
11.根据权利要求9或10所述的用户终端设备,其特征在于,所述控制命令用于对RNDIS设备进行控制,具体为,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
12.—种远程网络驱动接口规范RNDIS设备,其特征在于,包括: 第一接收单元,用于接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对RNDIS设备进行控制的控制命令; 第一解封装单元,用于对第一接收单元接收到的网络数据包进行解封装,得到所述控制命令; 第一处理单元,用于根据第一解封装单元得到的控制命令的指示执行操作; 其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
13.根据权利要求12所述的RNDIS设备,其特征在于, 所述第一接收单元,具体用于通过用户端设备和RNDIS设备之间建立的网络通信端口接收用户端设备发送的网络数据包。
14.根据权利要求12或13所述的RNDIS设备,其特征在于,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
【文档编号】H04L12/46GK104038553SQ201410281671
【公开日】2014年9月10日 申请日期:2010年9月21日 优先权日:2010年9月21日
【发明者】张东锋, 聂振辉 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1