背景技术
随着移动自组织网络的发展,在其网络上运行的业务越来越多,其中多媒体实时业务以及大流量的视频业务对网络要求也越来越高。伴随着手持设备上网技术的成熟和智能手持设备的普及,现在的手持设备已经成为电脑之外使用频度最高的网络接入终端。公车上,地铁里,走到哪里都会看到拿着手持设备听音乐、收邮件、发微博、看新闻上网的人群。 特别是智能手持设备强大的可扩展性及其所带来丰富多样的功能和应用,更是为手持设备上网增添了无限乐趣。但目前的手持设备终端和操作系统在使用不同方式上网时带来了一些不便的烦恼。而手持设备被问及最多的就是手机上网方面的问题。我们的手机在上网时需要设置网络接入方式(APN);而不同的功能和第三方应用上网时需要不同的网络接入方式来支持。无线接入点是负责移动终端管理以及协调无线和有线网络之间通信的关键部件,它为在子网间漫游的移动终端提供无缝的、高速的、透明的接入服务。 对于普通用户而言,APN(Access Point Name,接入点名称)只是为了上网而在手持设备终端上预先配置或手工设定的一组参数。而对于移动网络来说,APN是用来实现用户IP报文路由至相应GGSN及外部网络的必不可少的标识,其作用具体包括:APN作为路由标识:SGSN根据APN,向特定DNS服务器查询该APN对应的GGSN IP地址,以确定用户应接入的GGSN;APN作为业务域标识:GGSN根据APN不同,将用户的业务流送到不同的业务域,而不同的业务域则对应了不同的业务承载组网方式、用户标识获取方式、计费模式等。以中国移动最早提供、也是目前用户使用最广的两个APN——CMWAP、CMNET为例:
1) CMWAP APN
CMWAP APN在设计之初主要面向基于HTTP协议的业务,如WAP上网浏览,彩信等。随着数据业务的不断发展,为了支持逐渐引入的非HTTP协议的业务,WAP域通过进行升级改造和配置,逐渐演变为面向绝大多数自营业务和合作业务的默认业务域,面向用户提供彩信、PIM、流媒体、通用下载、快讯、音乐随身听、游戏等业务。CMWAP APN使用了WAP网关作为HTTP访问的代理节点,同时可面向用户提供一些辅助功能,例如免输手持设备号码、内容转换、适配预判等。
2) CMNET APN
CMNET是为了开展开放的互联网接入服务设置的APN,用户可使用任何协议访问互联网,没有任何控制和限制策略,但同时也不提供其他辅助功能。使用CMNET APN时,移动终端通过接入地SGSN就近接入GGSN,业务数据流通过GGSN对应的防火墙进行NAT地址转换后接入互联网。
当前IP协议版本IPV6的技术已经成熟,标准也基本完善,IPv6正处于与IPV4并存和过渡的阶段。可以说,手持设备同时联网多个APN通道,是未来必将获得广泛应用的一种需求。但是目前的移动终端的操作系统,缺乏同时联网多个APN通道相应的接口和设计。
当前,世界上三大主流的手持设备操作系统,android、win phone、ios都是单APN应用接入的手持设备操作系统,同一时间下,各种应用只能使用一个相同的APN通道。使用不同APN的时候,手持设备需要手工切换APN通道。实际使用中,移动终端上往往是不同的应用软件使用单一的不同的APN联网通道。通常打开移动设备里面的设置只有一个上网接入点,如“GPRS连接互联网”设置,进入功能表-设置-连接功能-承载方式-互联网。这里可能有一个GPRS连接互联网的接入方式,根本找不到其他移动网的连接,而且下载QQ的时候上面直接默认的就一个接入点,连选择都不能选择,因此普通用户在没有相关专业知识的情况下,通常是无法自动切换实现不同业务网络选项设置接入点的转换。目前大多数手机并不支持多点网络接入的方式。如果在收邮件的同时,又要玩微博就会遇到比较麻烦的情况,需要手工设置更换网络接入方式;由于这种方式需要弄清楚软件使用什么网络接入点接入,一般的普通用户只能无奈地借助第三方的APN管理软件的帮助。 在使用手机上网浏览网页时,手机在通过音乐随身听下载音乐;Email和彩信也要随时保持畅通。且不管能否正确判断这些功能的网络接入是使用WLAN、CMWAP还是CMMAIL这些复杂的技术名词;一般情况下,都需要在手机上不断的设置网络设置项,一番折腾,也未必达到想要的目的。想要真正的玩转智能手机,流畅体验移动互联网带来的便利和乐趣,还需要更给力的手机终端和多点网络并发接入技术。目前,能真正完美实现多接入点技术的手机系统不多见。
移动终端操作系统和应用软件不能实现多路APN网络并发联网的原因是当前移动终端上的操作系统只提供一条APN接入的通道或数据链路供应用层进行数据交换。应用层使用不同的APN数据通道,必须进行切换。其次,移动终端上的操作系统没有提供多路APN配置的人机界面或接口,应用层不能对多路APN的应用进行配置、查询和管理,再者,应用层无法获取联网失败的详细内容,无法更好的完善应用实现,另外操作系统缺乏应用软件识别、管理、监控多条APN数据通道的接口。
发明内容
本发明的目的是针对上述现有技术存在不足之处,提供一种可以支持多数据连接并发,让多种接入方式同时存在,支持操作系统应用软件识别、管理、监控多条APN数据通道接口,支持APN联网通道配置、查询多接入点并发,支持移动终端操作系统或应用软件多点网络并发接入网络,实现多APN并发联网数据传输,具有网络连接管理策略,能自动检测其它可用接入点访问网络的多点网络并发接入系统及其同时多接入点并发网络链路的方法,以满足不同应用程序或操作系统使用多APN网络并发联网和管理的需求。
本发明的上述目的可以通过以下措施来得到,一种移动终端多APN网络并发系统,具有如下技术特征:在含有移动终端操作系统和操作系统应用软件的应用层与底层的驱动模块之间设置多APN联网通道模块和路由管理模块,其中,多APN联网通道模块包含APN通道参数配置信息和多APN通道监控管理模块、APN通道参数配置信息标识每个APN联网通道所连接的APN网络的联网参数和供应用层修改APN通道参数配置信息的接口函数,以及当前APN通道的实际联网APN的情况和已使用APN通道的APN联网参数定义和空闲APN通道的数量,主要用于实现多APN并发联网;应用层根据接口函数参数内的虚拟通道标识:常量数值、字符串描述符、通道实例对象引用或APN联网参数发送连网请求;多APN联网通道模块通过APN联网参数连网成功后保存APN通道参数配置信息;不同的APN连网参数代表不同的APN网络通道;路由管理模块在应用程序收发数据前或收发数据过程中,有序管理应用程序收发数据所采用的APN数据通道;APN通道监控管理模块监控、管理APN联网通道;当应用层向多APN联网通道模块逐次下发至少一个APN联网指令时,多APN联网通道模块根据上述联网指令分配预定义和/或动态创建至少一路虚拟网络单元,路由管理模块使用应用程序指定通道模式和/或目的地址绑定路由模式和/或发送地址指定模式和/或默认路径模式,有序管理应用程序在发送数据前或过程中,指定APN数据通道进行数据收发。
本发明相比现有的操作系统有以下有益效果:
1)本发明充分考虑了用户在手持设备上网时对多接入点技术的需求,通过移动终端的操作系统或应用软件,采用逐次连接各个APN接入点实现多APN联网通道并发网络连接的模式,给出了完美的多接入点技术解决方案,直接进入多APN接入点的数据交换组网更加灵活方便。可以在移动终端上的操作系统上可以建立多个联网多APN的通道,除了多种数据连接方式且支持并发连接和并发联网,革命性地突破了手机终端领域只能使用单一不同APN联网通道的瓶颈限制。使移动终端不再成为无线接入需要手工切换APN通道的瓶颈。
2)本发明在移动终端操作系统提供应用层修改多APN通道参数表的接口函数,提供了为移动终端用户配置、修改多APN通道参数的人机界面,使移动终端用户可以通过人机界面修改多个APN通道的参数设定。
本发明提供了在应用软件中配置包含通道号和APN联网参数及可以通过人机界面修改的APN通道参数的接口函数,解决了移动终端用三大操作系统ios、win phone和android无法配置多路APN通道设定的问题。
3)本发明提供了在移动终端上的操作系统或应用软件可通过命令方式实现多APN并发联网。对移动终端的操作系统或应用软件所实现的多APN联网方式,无论是不同的应用软件使用不同的APN网络,还是一个应用软件使用多个APN网络,都可以通过逐次连接的方式予以实现,可以支持多数据连接并发,让多种接入方式同时存在。比如,我们可以通过CMMAIL接入点收发邮件;通过CMWAP接入点收发彩信;在用GPRS或者WIFI的方式通过手机内置的浏览器上网、上微博。多种应用多种网络同时运行,充分体现智能终端的智能。
4)本发明在APN通道参数的配置信息中,包含了网络联网协议的参数,使得操作系统和驱动模块可以识别应用层联网请求中所要求的联网协议,并按要求使用相应的联网协议进行联网。由于本发明是多APN通道并发,使得操作系统或应用软件支持多种不同的联网协议的不同APN网络并发联网。每个节点不仅是服务器而且还是客户机,它们地位相等,在节点之间可以直接进行数据交换。如果和传统的客户机/服务器模型进行对比,在系统的可扩展性、鲁棒性、系统的资源利用率等等方面,对等网络模型都具有巨大的优势。
本发明提供的一整套智能的手持设备网络连接管理策略,当手持设备上的内置应用或第三方应用,可以根据内部的默认接入点访问网络时或当接入点链接失败的时候,本发明提供的多APN通道监控管理模块网络连接管理策略将自动检测其它可用的接入点访问网络;如果出现更理想的网络接入点,则自动通过更好的接入点访问网络。
5)本发明通过应用层逐次发起每个APN联网请求,由APN联网通道模块完成不同的APN网络的并发联网,解决了目前三大主流的手持设备操作系统,android、win phone、ios单APN应用接入手持设备操作系统,同一时间下,各种应用只能使用一个相同的APN通道问题。
6)本发明通过应用层逐次发起每个APN联网请求,将APN联网通道模块实时与应用程序接口与协议栈相结合完成不同的APN网络的并发联网,从而保证系统的快速响应和定时高精度.经过系统测试,接入点性能良好,可以确保系统快速启动,用户可以高速可靠的共享网络资源,解决了目前主流手持设备操作系统单APN应用接入手持设备操作系统,同一时间下,各种应用只能使用一个相同的APN通道问题。
7)本发明通过路由管理模块提供了应用程序指定APN数据传输通道的方法,使应用程序可以使用任意一个或多个不同的APN数据通道进行数据收发
8)本发明通过APN通道监控模块向应用程序提供APN联网失败的详细原因报告,以及APN通道的运行监控消息,包括APN通道连接、断开、关闭消息。
9)本发明通过APN通道监控管理模块提供应用程序管理APN通道的函数接口,允许应用程序对APN联网通道进行连接、断开、关闭、切换和查询的操作。
10)本发明在APN通道的使用上,通过设定默认路径的方式,将APN通道的使用规范与传统的移动终端的操作系统相同,使得提供了在传统的移动终端的应用程序兼容的运行方式。本发明提供的统一数据连接管理机制,可以统一管理手持设备上网经常用到的Wifi、GPRS等常规网络数据链接方式。无论用Wifi还是TD或2G方式接入网络,都可以很好的支持并管理。不需要判断某种应用需要何种网络接入方式,也不需要频繁的设置,本发明的数据连接管理可以让手持移动设备用户轻松畅游各种移动网络环境。
具体实施方式
参阅图1。在以下描述的最佳实施例中,支持移动终端多APN网络并发系统及其实现方法的模型,依次包括应用层、多APN联网通道模块、路由管理模块和驱动模块;APN通道参数配置信息和APN通道监控管理模块内嵌在多APN联网通道模块中。
用于多APN并发联网并为操作系统或应用软件提供联网多APN的通道或数据链路的多APN联网通道模块,位于含有移动终端操作系统和操作系统上的应用软件的应用层与底层的驱动模块之间。多APN联网通道模块用于多APN并发联网并为操作系统或应用软件提供联网多APN的通道或数据链路。
同样位于含有移动终端操作系统和操作系统上的应用软件的应用层与底层的驱动模块之间的路由管理模块,在应用程序收发数据前或收发数据过程中,有序管理应用程序收发数据所采用的APN数据通道。
应用层包括移动终端上的操作系统或应用软件。
驱动模块是指包含移动设备连网硬件的驱动程序模块。连网硬件可以是移动终端的基带芯片,又可称为MODEM芯片,其主要功能是通过网络连接协议的实现与APN的联网。移动终端是指支持无线联网的计算设备,可以随时随地访问获得各种信息的一类设备,诸如手提电脑、PDA、无线上网卡和智能手机之类的移动计算设备。
应用层通过人机界面或应用程序通过多APN联网通道模块内的接口函数对多APN联网通道模块内的APN通道参数配置信息内的数据进行配置或预定义。
应用层的应用程序可以直接通过向APN联网通道模块发送APN联网请求,实现联网APN网络。不同的应用程序可以发送多个不同的APN联网请求,一个应用程序也可以多次发送不同的APN联网请求。联网APN成功后,多APN联网通道模块会根据APN联网参数修改APN通道参数配置信息。
不同的APN数据连接通道由APN参数来区别,不同的APN参数标识为不同的APN数据联网通道。APN数据连接通道上用于区分不同的APN数据联网通道的参数包括但不限于APN接入点名称、服务质量QOS等级,联网协议等等。
多APN联网通道模块预先设定多个APN联网通道,且每个APN联网通道对应一个APN网络的数据连接。多APN联网通道模块在接收到应用层下发的每个APN联网指令后,多APN联网通道模块分配预定义和/或动态创建多路各自独立的虚拟网络单元。
在APN的联网指令中,APN联网参数是联网不同APN的标识,不同的APN联网参数代表不同的APN网络。代表不同APN网络的APN联网参数包括但不限于APN接入点名称、QOS等级、网络协议等等。网络连接协议包括但不限于互联网协议IPV4、IPV6或IPV4/IPV6的点到点链路上进行多协议包传送的PPP联网协议或语音网络PDP联网协议。
多APN联网通道模块内包含APN通道参数配置信息以及供应用层修改多APN通道参数表的接口函数。应用层根据接口函数参数内的虚拟通道标识、常量数值、字符串描述符、通道实例对象引用和APN联网参数修改每个APN通道参数配置信息。
APN通道参数配置信息内的数据标识了每个APN通道的APN联网参数,也标识了每个APN通道所连接的APN网络。APN联网参数的不同代表不同的APN网络。APN通道参数配置信息用于标识每个APN联网通道所连接的APN网络的联网参数,以及当前APN通道的实际联网APN的情况,包括已使用APN通道的参数定义和空闲APN通道的数量。
路由管理模块将某些特定APN网络通道路径定义为应用层数据联网的默认、预定义路径default路径,例如,可将IPV4的CMNET定义为IPV4的默认路由,将IPV6的CMNET定义为IPV6的默认路由。这样的设计使得本方案所设计的方法可以兼容传统的应用程序。
驱动模块在执行多APN通道模块的联网指令时,除了成功时反馈信息以外,在联网操作失败时,向多APN联网模块反馈详细失败信息,消息内容包括但不限于网络超时,无网络信号,SIM欠费、APN未开通、APN参数错误等消息。
本发明在建立和识别APN数据通道的具体实施方式可以分为两个步骤:
1、应用层建立多APN联网通道
在发联网请求过程中,应用层向多APN联网通道模块逐次下发一个或多个APN联网指令,多APN联网通道模块收到联网指令后,根据上述联网指令依次创建或分配至一路或多路虚拟网络单元,虚拟网络单元通过驱动模块向移动基站发送联网请求;移动基站收到送联网请求后,向驱动模块发送联网成功与否的回应信号,驱动模块将移动基站回应的联网成功与否的消息发送到多APN联网通道模块,多APN联网通道模块将每个成功联网消息中的参数设置到上述创建或分配的虚拟网络单元上。在一路或多路虚拟网络单元创建或分配完成后,应用层再次发起另一个不同的APN联网请求,多APN联网通道模块将再次创建或分配一路新的与原有虚拟网络单元同时存在的虚拟网络单元,并继续向下再次发送不同的APN联网请求。
多APN联网通道模块在接收到应用层下发的APN联网指令后,多APN联网通道判断上述联网指令中指定联网的APN联网参数与当前已经连接分配的数据传输通道的APN联网参数是否匹配,若匹配,则把该联网请求指向已连接的分组数据协议PDP网络,并反馈应用层实际使用的网络服务接入点标识符 NSAPI或通道号;若不匹配,则按连接请求的先后顺序为连接动态分配一个虚拟的“通道号”,并选择一个空闲的APN联网通道填充一个空闲的NSAPI来处理调用者对某个虚拟通道对应的实际的网络联网请求,连接成功后将通道号和NSAPI进行反馈并将相应APN参数、通道号记录在多APN联网通道模块的APN通道参数配置信息内。
多APN联网通道模块含有连网接口函数,应用层根据接口函数参数内的虚拟通道标识:常量数值、字符串描述符、通道实例对象引用或APN联网参数发送连网请求;多APN联网通道模块通过APN联网参数连网成功后保存APN通道参数配置信息;不同的APN连网参数代表不同的APN网络通道。
多APN联网通道模块在接收到应用层下发的每个APN联网指令后,创建多路各自独立的虚拟网络单元的模式有以下三种模式。
实施用例1:分配预定义模式
操作系统事先按APN通道次序预先定义APN通道的类型,比如:APN通道1定义为CMNET,APN通道2定义为彩信,APN通道3定义为CMWAP等等。
在应用层发送APN联网命令时,可以不附带APN联网参数,而直接使用通道号进行连接。
多APN联网通道模块接收到应用层发送的通道号联网命令参数后,将预定义的APN联网参数发送给驱动模块,联网成功后,分配指定的通道号给应用层。
应用层发送APN联网命令时,也可以使用附带APN联网参数的方式。
多APN联网通道模块解析应用层发送的APN联网命令中的APN联网参数,联网成功后,分配预定义指定的通道号给应用层。
实施用例2:动态创建模式
多APN联网通道模块解析应用层发送的APN联网命令中的APN联网参数,联网成功后,动态分配一个空闲的通道号给应用层。
实施用例3:分配预定义和动态创建模式
操作系统事先按APN通道次序部分预先定义APN通道的类型,比如:APN通道1定义为CMNET,APN通道2定义为彩信,APN通道3定义为CMWAP等等,其它通道为空闲。
多APN联网通道模块解析应用层发送的APN联网命令中的APN联网参数,联网成功后,如果是预定义的APN通道则分配预定义指定的通道号给应用层。否则,动态创建一个空闲的通道号给应用层。
2、路由管理模块识别、管理或指定APN数据通道
位于含有移动终端操作系统和操作系统上的应用软件的应用层与底层的驱动模块之间的路由管理模块,在应用程序收发数据前或收发数据过程中,有序管理应用程序收发数据所采用的APN数据通道。
路由管理的模式有四种实施用例。需要说明的是,以下四种实施用例可以进行组合使用。即可以有四种进行排列组合使用的管理模式:
实施用例1:应用程序指定通道模式
在路由管理模块中含有套接字socket接口,在socket接口内设置一个用来指定虚拟通道号的参数;路由管理模块取出上述参数后,则将应用程序收发的数据指向该参数指定的虚拟通道号,实现应用程序数据的收发。
实施用例2:目的地址绑定路由模式。
应用程序调用路由管理模块内的接口函数将需要访问的目的IP地址绑定在路由管理模块的路由表内,操作系统的IP协议栈解析出应用程序发送数据中的目的地址后,按路由表内的路由将数据包传入指定APN数据通道。
实施用例3:发送地址指定路由模式。
应用程序收发网络数据时,操作系统的IP协议栈解析出应用程序收发数据请求中的移动终端本机IP地址,使用IP地址对应的APN数据通道进行数据收发。
实施用例4:默认路径模式。
路由管理模块将应用程序指定的目的地址自动绑定到预定义的APN数据通道;操作系统的IP协议栈解析出应用程序发送数据中的目的地址后,按路由表内的路由使用指定APN数据通道进行数据收发。
当联网APN的请求包含了代理服务器地址时,路由管理模块在APN通道连接成功后,自动将代理服务器地址绑定路由。
当联网APN的请求联网的APN网络属于操作系统已经定义的APN类型,路由管理模块在联网APN请求未包含代理服务器地址的情况下,由路由管理模块将上述APN的目的地址自动绑定到路由。
操作系统的IP协议栈解析出应用程序发送数据中的目的地址后,按路由表内的路由将数据包传入指定APN数据通道。
APN通道监控管理模块对APN联网通道进行监控与管理,包括但不限于APN联网通道的配置、连接、断开、关闭、切换、数据链路信息上报等功能。
应用层通过APN通道监控管理模块所提供的接口函数对APN通道进行配置、连接、断开、切换、关闭的操作。
APN通道监控管理模块收集来自驱动模块的上报消息,将所述消息实时反馈给应用层。
在应用层使用完全部预设的多个APN联网通道后,一旦应用层再次发起新的APN联网请求时,如果新的APN联网请求不属于已经使用的APN联网网络,APN通道监控管理模块向应用层反馈通道满的消息。
APN通道监控管理模块,一旦收到驱动模块关于APN链路连接、断开、关闭的消息,则通过系统消息通道上报应用层。
上报消息包括联网成功与失败消息,以及各APN联网链路的实时运行状态。联网失败消息包括但不限于网络超时,无网络信号、SIM欠费、APN未开通、APN参数错误等消息。
应用层可以通过人机界面或应用程序对APN通道监控管理模块的相应指令对任意APN通道实现配置、连接、断开、切换和关闭操作。
以上所述的仅是本发明的优选实施例。应当指出,对于本领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干变形和改进,比如所述程序可以存储于移动终端可读存储介质中,可选地,上述实施例终端各模块/单元可以采用硬件的形式实现,也可采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合,亦属于本发明的范畴,这些变更和改变应视为属于本发明的保护范围。