CN104601546A - 一种利用设备通信资源提高网络带宽的系统及方法 - Google Patents

一种利用设备通信资源提高网络带宽的系统及方法 Download PDF

Info

Publication number
CN104601546A
CN104601546A CN201410805127.0A CN201410805127A CN104601546A CN 104601546 A CN104601546 A CN 104601546A CN 201410805127 A CN201410805127 A CN 201410805127A CN 104601546 A CN104601546 A CN 104601546A
Authority
CN
China
Prior art keywords
resource
internet resources
network
priority
control end
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.)
Granted
Application number
CN201410805127.0A
Other languages
English (en)
Other versions
CN104601546B (zh
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.)
Shenzhen Tintele Technology Co Ltd
Original Assignee
Shenzhen Tintele 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 Shenzhen Tintele Technology Co Ltd filed Critical Shenzhen Tintele Technology Co Ltd
Priority to CN201410805127.0A priority Critical patent/CN104601546B/zh
Publication of CN104601546A publication Critical patent/CN104601546A/zh
Application granted granted Critical
Publication of CN104601546B publication Critical patent/CN104601546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种利用设备通信资源提高网络带宽的系统及方法,本发明系统中进程i1可能请求通信节点n1返回web数据,进程i2可能正从通信节点n2下载文件包,进程i3是一个聊天客户端,需要和通信节点n3保持通信。这样所有这些通信的数据都是相互独立的,完全可以让不同的进程调度不同的网络设备资源,连接不同的网络,和各自的通信节点进行通信。当设备系统中同时访问网络的进程数等于网络资源数时,则系统中所有访问网络的进程都可以并行和各自的节点通信。假设网络资源数为N,并且各资源的带宽相同,则相对传统技术,此情况能够获得相当于N倍的传统通信带宽,等价于理想的并行通信技术。

Description

一种利用设备通信资源提高网络带宽的系统及方法
技术领域
本发明涉及通讯领域,在具备多种通信资源的移动终端,当多任务运行,需要同时访问网络资源时,尤其适用。
背景技术
移动终端、设备越来越普及,每个设备都包含有多个通信模块,如现在的手机、PDA、平板电脑等都支持WLAN、移动数据网络、甚至以太网,有些终端甚至支持多SIM卡多通。在如此多的通信资源下,目前现有的系统,其利用率是很低的。一般在只有WIFI的情况下,会优先选择WIFI网络进行通信,关闭数据网络。即使在双卡双通的终端上,数据网络也不是同时打开。即当选择一个数据卡进行上网时,就会把另一个卡的数据网络关掉,打开另一个SIM卡的数据通道,同样会关闭当前卡的数据网络。
蜂窝网络从早期的2G演变到3G,再到现在的4G一直还在发展和提升。但是,现在已经步入大数据时代,网络带宽的提高永远不可能满足用户的需求。用户可能要在参加超高清视频会议的同时,还在后台同时下载大的数据包。
现有的并行通信的方法包括多网卡技术,如Linux系统下的bonding技术,一般主要应用于服务器场合。这种技术的一个约束在于要求两个或多个网卡处于同一局域网,这样才有可能将两块网卡绑定成一个IP,对外面的网络而言相当于仅有一个逻辑的网卡。但是移动设备包含的通信资源构成的网络一般是不同或者异构的,如WLAN网络和移动基站网络。即使多SIM卡,由于连接不同的运营商、接入不同的基站,各个SIM卡所接入的本地局域网也是不一样的,这意味着多个通信资源所拥有的IP地址是不一样的。当系统要传送数据,在底层会分解成多个数据包,当这些包分别分配到不同的网络资源进行传输,接收方收到这些包,由于他们具有不同的IP源,接收方并不认为这些包来自于同一个设备,因此不会将这些包重新组合,那么这次通信就无法成功。尽管当前已有很多文献提及并行通 信的方法,如专利″一种多模终端多通道并行通信的流量分配方法″等。但是这些方法都没有首先在现有的网络通信协议下解决这个根本性的问题。
传统终端的通信架构如图1所示,即终端设备系统上运行的多个进程(不局限于图中的3个),通过设备的某一网络资源j,和远方各自的通信节点进行通信。多个进程同一时刻只能共享终端设备的同一网络资源。很明显,此种通信的特点无法充分利用设备的网络资源。
某些文献或专利提到了异构网络的并行通信技术,如图2为此种通信的架构图。它表达的是一个进程可以最大限度利用设备的通信资源来提高通信带宽。但是正如前面提及,此种方案虽然能够最大限度提高网络的带宽,但是实施却非常复杂,因为设备的网络大多是异构的,在现有的TCP/IP网络通信协议是做不到并行的。除非更改现有的通信协议标准,那此种变动就非常巨大。
发明内容
本发明提及一种利用设备通信资源提高网络带宽的系统及方法,可以在现有的网络环境及现有的通信协议条件下,通过引入本发明提及的技术,即可简单地实现网络带宽的叠加,而不需要对数据包进行重新封装,或者改动现有的网络通信协议标准。本发明旨在提高设备的网络带宽,节省网络传输的时间开销。同时由于带宽的增加,对于音视频的实时传输同样会有显著的优化效果。
为了解决现有技术中问题,本发明提供了一种利用设备通信资源提高网络带宽的系统,其包括网络资源控制端、网络资源池和进程核心控制块,所述网络资源池包括设备的所有网络资源,每个网络资源至少包含四个字段的结构体,包括标识设备资源的net_res_id、优先级priority、设备的状态status和对应当前占用的进程号PID;所述网络资源用两个链表来表示,两个链表分别表示空闲资源和繁忙资源;
网络资源控制端负责处理进程核心控制块的请求,并调度网络资源池的资源,将相应的资源插入相应链表的对应位置;网络资源控制端将进程封装好的数据包发送给相应网卡驱动发送缓冲区,同时将各网卡驱动接收到的数据包根据网络资源的标识转发给相应的进程;
访问网络资源请求的代码放在进程核心控制块,将某一进程对网络资源的访问请求及对应进程的PID提交给网络资源控制端,然后进程核心控制块将网络资源控制端返回的可用网络资源和对应进程进行绑定,此进程就临时选择该网络资源进行通信。
作为本发明的进一步改进,一个链表用来表示所有status字段为idle的资源,即空闲资源,另一链表用来表示所有status字段为active的资源,即繁忙资源,两个链表均按照priority的大小从大到小排序。
作为本发明的进一步改进,网络资源控制端实现于一个内核线程,或者内嵌在操作系统内核中。
一种利用上述的系统提高网络带宽的方法,包括如下步骤:
步骤1.为每个网络资源定义一个至少包含四个字段的结构体,包括标识设备资源的net_res_id、优先级priority、设备的状态status和对应当前占用的进程号PID;
步骤2.定义一个网络资源池,该资源池包括设备的所有网络资源,每个网络资源的定义见步骤1;
步骤3.初始化网络资源池,对网络资源池的每个资源进行初始化,定义网络的优先级,初始状态为idle,进程号PID赋值为-1;
步骤4.初始化网络资源池,即对网络资源池的每个资源进行初始化,一般WLAN网络的优先级高些,移动数据网络的优先级低些,初始状态都为idle,进程号PID赋值为-1;
步骤5.设计网络资源控制端程序,网络资源控制端负责接收来自进程的网络资源请求,控制网络资源池的资源调度或者分配,最后分配相应的资源给进程,或者将资源重新归还给资源池,或者将资源从该进程中释放;
步骤6.进程申请资源池包括如下过程:
步骤6.1当有进程需要访问网络时,向控制端程序发送网络资源访问请求;
步骤6.2控制端程序收到请求后,判断各个网络资源的状态和优先级, 如果状态为idle,并且优先级最高,该资源就被选中;
步骤6.3确定哪个资源被选中,修改资源的标识字段,status字段改成active,PID字段改成所请求进程的PID;
步骤6.4将找到最优的网络资源返回给进程;
步骤7.进程释放资源池包括如下过程:
步骤7.1当进程结束访问网络时,向控制端程序发送网络资源释放请求;
步骤7.2控制端程序收到请求后,修改该网络资源的各字段,将status置为idle,PID字段置为-1;
步骤7.3控制端程序将此资源插入网络资源池表示空闲资源的数据结构中。
作为本发明的进一步改进,WLAN网络的优先级高,移动数据网络的优先级低。
作为本发明的进一步改进,如果采用链表结构,将这些资源按照优先级顺序插入到表示空闲状态的链表。
本发明的有益效果是:
当设备系统中同时有两个进程在访问网络时,两个进程可以并行地使用不同的网络资源进行通信,如果这两个网络资源的通信带宽一样,则此种情况较传统技术能够增加一倍的带宽。
当设备系统中同时访问网络的进程数等于网络资源数时,则系统中所有访问网络的进程都可以并行和各自的节点通信。假设网络资源数为N,并且各资源的带宽相同,则相对传统技术,此情况能够获得相当于N倍的传统通信带宽,等价于理想的并行通信技术。
当设备系统中同时访问网络的进程数超过网络资源数时,则除部分进程可以并行和各自的节点通信外,剩余的进程需要等待,或者分时切换。 假设网络资源数为N,并且各资源的带宽相同,则相对传统技术,此情况仍能够获得相当于N倍的传统通信带宽,效果同样等价于理想的并行通信技术。
附图说明
图1是传统的设备通信架构图;
图2是现有异构网络的并行通信技术架构图;
图3是本发明的通信架构图;
图4是本发明网络资源所包含的四个字段;
图5是本发明网络资源调度程序的大概结构。
具体实施方式
下面结合附图对本发明做进一步说明。
如图4所示,网络资源的定义包含如下四个字段,包括标识设备资源的net_res_id、优先级priority、设备的状态status和对应当前占用的进程号PID。在程序设计中可以定义相应的结构体来包含这四个成员。
如图5是程序架构的大概实现图,网络资源池包含设备中所有的网络资源,这些资源可以用两个链表结构来表示。一个链表用来表示所有status字段为idle的资源,即空闲资源;另一链表用来表示所有status字段为active的资源,即繁忙资源;两个链表均按照priority的大小从大到小排序。
网络资源控制端是属于最核心的部分,该部分可以实现于一个内核线程,或者内嵌在操作系统内核中,方便和进程核心控制块进行通信。网络资源控制端负责处理进程核心控制块的请求,并调度网络资源池的资源,将相应的资源插入相应链表的对应位置。同时,此模块还要和各个网卡设备驱动打交道,将进程封装好的数据包发送给相应网卡驱动发送缓冲区,同时将各网卡驱动接收到的数据包又能够根据网络资源的进程号PID字段标识转发给相应的进程。
每个进程都可能访问网络,如果让进程来做网络资源的访问请求那么所有的进程都需要去实现这部分代码,最终对于用户编程就显得麻烦,应 用开发者必须实现这个细节。而且各个进程间的代码还显得冗佘。所以可以考虑将访问网络资源请求的代码放在″进程核心控制块″,这样各个进程实例无需关心网络资源请求的细节,代码也会模块化,而不冗佘。
进程核心控制块要实现的细节是,将某一进程对网络资源的访问请求及对应进程的PID提交给网络资源控制端,然后将网络资源控制端返回的可用网络资源和对应进程进行绑定,此进程就临时选择该网络资源进行通信。
如图3所示为本发明采用的通信架构图。由于各个进程间都是相互独立的,进程间需要的网络数据也是独立开的。例如,系统中进程i1可能请求通信节点n1返回web数据,进程i2可能正从通信节点n2下载文件包,进程i3是一个聊天客户端,需要和通信节点n3保持通信(不局限于图中的3个)。这样所有这些通信的数据都是相互独立的,完全可以让不同的进程调度不同的网络设备资源,连接不同的网络,和各自的通信节点进行通信。
利用上述系统提高网络带宽的方法如下:
1.为每个网络资源定义一个至少包含四个字段的结构体,包括标识设备资源的net_res_id、优先级priority、设备的状态status和对应当前占用的进程号PID。
2.定义一个网络资源池,该资源池包括设备的所有网络资源,每个网络资源的定义见步骤1。网络资源池不限于采用数组或者链表结构。
3.初始化网络资源池,即对网络资源池的每个资源进行初始化,一般WLAN网络的优先级高些,移动数据网络的优先级低些,初始状态都为idle,进程号PID赋值为-1。如果采用链表结构,将这些资源按照优先级顺序插入到表示空闲状态的链表。
4.设计控制端程序,控制端负责接收来自进程的网络资源请求,控制网络资源池的资源调度或者分配,最后分配相应的资源给进程,或者将资源重新归还给资源池。
5.在前面提及的前提下,进程申请资源池包括如下过程:
5.1当有进程需要访问网络时,向控制端程序发送网络资源访问请求;
5.2控制端程序收到请求后,判断各个网络资源的状态和优先级,如果状态为idle,并且优先级最高,该资源就可以被选中,这个不同情况可以采用不同的调度策略;
5.3确定哪个资源被选中,修改资源的标识字段,PID字段改成所请求进程的PID,如果选中的是状态为idle的资源,status字段改成active,并将此资源从相应的链表删除,插入到表示繁忙资源的另一链表的对应位置。
5.4将找到最优的网络资源返回给进程;
6.在前面提及的前提下,进程释放资源池包括如下过程:
6.1当进程结束访问网络时,向控制端程序发送网络资源释放请求;
6.2控制端程序收到请求后,修改该网络资源的各字段,将status置为idle,PID字段置为-1。
6.3控制端程序将此资源从繁忙链表中删除,并插入另一表示空闲的链表当中;
此外控制端程序要负责和各个网络资源设备驱动的通信,当进程发送数据时,由控制端程序将此数据包传送给对应网络资源设备的驱动程序缓冲区中,然后此网络资源即可发送数据包到相应的通信节点。当网络资源设备的驱动程序收到来自通信节点的数据时,将此数据提交给控制端程序,由控制端程序转交给相应的进程接收。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (6)

1.一种利用设备通信资源提高网络带宽的系统,其特征在于:其包括网络资源控制端、网络资源池和进程核心控制块,所述网络资源池包括设备的所有网络资源,每个网络资源至少包含四个字段的结构体,包括标识设备资源的net_res_id、优先级priority、设备的状态status和对应当前占用的进程号PID;所述网络资源用两个链表来表示,两个链表分别表示空闲资源和繁忙资源;
网络资源控制端负责处理进程核心控制块的请求,并调度网络资源池的资源,将相应的资源插入相应链表的对应位置;网络资源控制端将进程封装好的数据包发送给相应网卡驱动发送缓冲区,同时将各网卡驱动接收到的数据包根据网络资源的标识转发给相应的进程;
访问网络资源请求的代码放在进程核心控制块,将某一进程对网络资源的访问请求及对应进程的PID提交给网络资源控制端,然后进程核心控制块将网络资源控制端返回的可用网络资源和对应进程进行绑定,此进程就临时选择该网络资源进行通信。
2.根据权利要求1所述的一种利用设备通信资源提高网络带宽的系统,其特征在于:一个链表用来表示所有status字段为idle的资源,即空闲资源,另一链表用来表示所有status字段为active的资源,即繁忙资源,两个链表均按照priority的大小从大到小排序。
3.根据权利要求1所述的一种利用设备通信资源提高网络带宽的系统,其特征在于:网络资源控制端实现于一个内核线程,或者内嵌在操作系统内核中。
4.一种利用权利要求1至3任意一项的系统提高网络带宽的方法,其特征在于,包括如下步骤:
步骤1. 为每个网络资源定义一个至少包含四个字段的结构体,包括标识设备资源的net_res_id、优先级priority、设备的状态status和对应当前占用的进程号PID;
步骤2. 定义一个网络资源池,该资源池包括设备的所有网络资源,每个网络资源的定义见步骤1;
步骤3. 初始化网络资源池,对网络资源池的每个资源进行初始化,定义网络的优先级,初始状态为idle,进程号PID赋值为-1;
步骤4. 初始化网络资源池,即对网络资源池的每个资源进行初始化,一般WLAN网络的优先级高些,移动数据网络的优先级低些,初始状态都为idle,进程号PID赋值为-1;
步骤5. 设计网络资源控制端程序,网络资源控制端负责接收来自进程的网络资源请求,控制网络资源池的资源调度或者分配,最后分配相应的资源给进程,或者将资源重新归还给资源池,或者将资源从该进程中释放;
步骤6.进程申请资源池包括如下过程:
步骤6.1 当有进程需要访问网络时,向控制端程序发送网络资源访问请求;
步骤6.2 控制端程序收到请求后,判断各个网络资源的状态和优先级,如果状态为idle,并且优先级最高,该资源就被选中;
步骤6.3 确定哪个资源被选中,修改资源的标识字段,status字段改成active,PID字段改成所请求进程的PID;
步骤6.4 将找到最优的网络资源返回给进程;
步骤7.进程释放资源池包括如下过程:
步骤7.1 当进程结束访问网络时,向控制端程序发送网络资源释放请求;
步骤7.2 控制端程序收到请求后,修改该网络资源的各字段,将status置为idle,PID字段置为-1;
步骤7.3 控制端程序将此资源插入网络资源池表示空闲资源的数据结构中。
5.根据权利要求4所述的提高网络带宽的方法,其特征在于:WLAN网络的优先级高,移动数据网络的优先级低。
6.根据权利要求4所述的提高网络带宽的方法,其特征在于:如果采用链表结构,将这些资源按照优先级顺序插入到表示空闲状态的链表。
CN201410805127.0A 2014-12-22 2014-12-22 一种利用设备通信资源提高网络带宽的系统及方法 Active CN104601546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410805127.0A CN104601546B (zh) 2014-12-22 2014-12-22 一种利用设备通信资源提高网络带宽的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410805127.0A CN104601546B (zh) 2014-12-22 2014-12-22 一种利用设备通信资源提高网络带宽的系统及方法

Publications (2)

Publication Number Publication Date
CN104601546A true CN104601546A (zh) 2015-05-06
CN104601546B CN104601546B (zh) 2017-12-01

Family

ID=53127053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410805127.0A Active CN104601546B (zh) 2014-12-22 2014-12-22 一种利用设备通信资源提高网络带宽的系统及方法

Country Status (1)

Country Link
CN (1) CN104601546B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134813A (zh) * 2020-09-22 2020-12-25 上海商米科技集团股份有限公司 一种基于应用进程优先级的带宽分配方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653376B2 (en) * 2007-05-18 2010-01-26 Cvon Innovations Limited Method and system for network resources allocation
CN102200941A (zh) * 2010-03-25 2011-09-28 杭州华三通信技术有限公司 进程状态监控方法及单元
CN102378965A (zh) * 2009-04-17 2012-03-14 诺基亚公司 用于经由进程间通信共享资源的方法、装置和计算机程序产品
CN102629217A (zh) * 2012-03-07 2012-08-08 汉柏科技有限公司 多进程多操作系统网络设备及其控制方法
CN103440159A (zh) * 2013-08-05 2013-12-11 华为技术有限公司 进程调度方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653376B2 (en) * 2007-05-18 2010-01-26 Cvon Innovations Limited Method and system for network resources allocation
CN102378965A (zh) * 2009-04-17 2012-03-14 诺基亚公司 用于经由进程间通信共享资源的方法、装置和计算机程序产品
CN102200941A (zh) * 2010-03-25 2011-09-28 杭州华三通信技术有限公司 进程状态监控方法及单元
CN102629217A (zh) * 2012-03-07 2012-08-08 汉柏科技有限公司 多进程多操作系统网络设备及其控制方法
CN103440159A (zh) * 2013-08-05 2013-12-11 华为技术有限公司 进程调度方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134813A (zh) * 2020-09-22 2020-12-25 上海商米科技集团股份有限公司 一种基于应用进程优先级的带宽分配方法及电子设备

Also Published As

Publication number Publication date
CN104601546B (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
US9622274B2 (en) Enhanced self-organizing network switching matrix
CN105191228B (zh) 用于业务感知媒体接入选择的系统和方法
CN1679369B (zh) 用于把QoS业务规划和带宽分配提供到一个无线台的设备和方法
US20140241315A1 (en) Radio access network (ran) for peer-to-peer (p2p) communication
CN111083634B (zh) 基于cdn和mec的车联网移动性管理方法
WO2018134684A1 (zh) 无线接入网中用于网络切片的资源分配方法和编排器
Li et al. Architecture of GPP based, scalable, large-scale C-RAN BBU pool
CN110913409B (zh) 网络配置方法、装置及系统
EP3549326B1 (en) Configuration control for network
CN103313254B (zh) 一种lte上行调度的方法及装置
Cheng et al. 5G in manufacturing: a literature review and future research
US20240031427A1 (en) Cloud-network integration oriented multi-access edge computing architecture
US10433314B2 (en) Resource scheduling method, apparatus, and system
CN109219936A (zh) 用于多连接中的可靠通信的装置和方法
CN104780017A (zh) 一种数据处理方法及装置
WO2015196722A1 (zh) 一种基带数据交换装置、方法和计算机存储介质
CN105530650B (zh) 一种网络资源规划的方法及装置
CN102707997A (zh) 一种移动宽带设备多pdp数据通讯的驱动装置和方法
US11621925B2 (en) Asynchronous medium access control layer scheduler for directional networks
CN102685816A (zh) 一种用户面配置参数的处理方法及装置
CN104811403A (zh) 基于开放流的组表处理方法、装置及组表配置单元
US20160103707A1 (en) System and Method for System on a Chip
CN103152382B (zh) 面向多宿主网络的多文件并发传输控制方法
CN104601546A (zh) 一种利用设备通信资源提高网络带宽的系统及方法
Yang et al. Research on the integrated space-air-ground communication network based on network slicing and its key technologies

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant