用于以网络资源的有效使用来支持多个多样化数据应用程序的方法

文档序号:7939439阅读:204来源:国知局
专利名称:用于以网络资源的有效使用来支持多个多样化数据应用程序的方法
技术领域
本发明大体上涉及无线数据网络,且更具体来说,涉及以网络资源的有效使用来 支持多个多样化数据应用程序。
背景技术
随着例如因特网等通信网络的不断扩展使用和流行,不断增加数目的用户享受到 例如万维网和电子邮件服务等通信网络服务。目前,具有数据输入功能的蜂窝式电话已被 广泛用于经由此类网络以及如个人信息管理器和手持式计算机等信息处理终端来发射和 接收数据和消息。 蜂窝式电话也正变得较为强大,且因此能够执行广泛多种程序。许多用户正使用 他们的蜂窝式电话作为便携式计算机,且运行例如游戏、生产力软件、音乐与视频播放器、 即时消息接发程序、GPS程序和许多其它程序等多个应用程序。现在能够在蜂窝式电话上 执行的程序的多样性几乎是无限的。 在蜂窝式电话上运行的每一应用程序均可能需要不同的通信配置。每一配置可取 决于应用程序的输出行为和其提供的服务类型。举例来说,全球定位系统(GPS)应用程序 可能仅需要单载波无线电传输技术(lx RTT)系统来工作,且可能不能够在演进-仅数据 (EVDO)网络服务上运行。类似地,IP语音(VOIP)应用程序可能需要高数据速率网络(例 如,DoRevA、WLAN或HSPDA),所述高数据速率网络还可提供所需的服务质量(QOS)能力。即 按即说(PTT)应用程序可配置无线电层(RLP/RLC)来以有限的可靠性获得最少延迟路径。 实际来说,为每一类型的应用程序设立单独且专用的数据连接/无线电路径既不可行,也 不具成本效益。

发明内容
各种实施例提供用于有效地利用有限数目的无线电/网络资源来支持多样化应 用程序的方法和系统。所述实施例允许多个多样化应用程序通过共享通信连接而获得对所 需要的数据连接服务的接入。各种实施例方法可实施于计算装置内的在计算装置内操作的 连接管理器软件模块中。连接管理器可收集用于新应用程序以及共享数据连接的多个应用 程序中的每一者的所指定独占数据连接配置参数和可共享数据连接配置参数。对于每一数 据连接,连接管理器可确定由新应用程序指定的独占参数中的任一者是否与已经使用每一
10数据连接的应用程序所需要的独占参数冲突。如果数据连接在现存独占参数与由新应用程 序指定的独占参数之间具有冲突,那么可从进一步考虑中去除所述数据连接。如果在数据 连接上不存在独占参数冲突,那么连接管理器可基于用于可共享配置参数中的每一者的联 合规则来计算所得值。连接管理器还可基于所计算出的所得值满足使用数据连接的应用程 序的程度来将优先级或质量量度指派给每一数据连接。基于所指派的优先级或质量量度, 连接管理器可选择最优数据连接以指派给新应用程序,且使用所计算出的所得参数值来配 置数据连接。还可使用类似的方法在应用程序终止时以及在应用程序请求对数据连接配置 参数的修改时更新数据连接配置。


附图并入在本文中且构成本说明书的部分,其说明本发明的示范性实施例,且连 同上文给出的一般描述和下文给出的详细描述一起用以解释本发明的特征。
图1是无线蜂窝式网络的系统框图。 图2A是适合与各种实施例一起使用的数据连接参数数据表的数据结构图。 图2B是适合与各种实施例一起使用的数据连接参数数据表的数据结构图。 图3是适合用于建立共享数据连接的实施例方法的过程流程图。 图4是适合用于在应用程序终止时管理共享数据连接的实施例方法的过程流程图。 图5是适合用于在使用数据连接的应用程序请求经修改的通信参数时管理所述 数据连接的实施例方法的过程流程图。 图6是适合用于在使用数据连接的应用程序请求经修改的通信参数时管理所述 数据连接的替代实施例方法的过程流程图。 图7是适合与各种实施例一起使用的实例计算装置的电路框图。
图8是适合与各种实施例一起使用的实例个人计算机的电路框图。
具体实施例方式
在此描述中,本文使用术语"示范性"来意指"充当实例、例子或说明"。本文描述 为"示范性"的任何实施方案均没有必要解释为比其它实施方案优选或有利。
如本文使用,术语"计算装置"、"移动装置"和"便携式计算装置"指代以下各项中 的任一者或全部蜂窝式电话、个人数据助理(PDA)、掌上型计算机、无线电子邮件接收器 和蜂窝式电话接收器(例如,Blackberry⑧和Treo③装置)、具有多媒体因特网功能的蜂窝式 电话(例如,iPhone⑧)、供在个人计算机中使用的无线网络收发器卡,以及包含可编程处理 器及存储器和连接到无线网络的能力的类似个人电子装置。所述术语还可涵盖具有有线和 无线网络收发器电路的例如膝上型计算机或桌上型计算机等个人计算机,或在对各种实施 例的描述中使用时还可实施在个人计算机上或与个人计算机一起实施。虽然对各种实施例 的描述参考了蜂窝式电话网络系统(包含此类网络的小区塔),但本发明的范围和权利要 求书涵盖任何通信系统,其包含例如WiFi、WiMax、蜂窝式电话数据网络、近场通信数据链路 和其它无线数据网络通信技术等无线网络以及例如局域网(LAN)、广域网(WAN)和因特网 等有线网络。
11
如本文使用,术语"数据网络连接"、"数据连接"和"连接"可互换使用以指代可供 计算装置处理器使用以建立与另一计算装置或网络的通信链路的端口或电路。这些术语适 用于任何类型的通信连接,且不限于特定类型的数据连接,因为通信链路也可传送命令和 网络配置信息。而且,这些术语适用于任何类型的包含有线和无线网络的通信技术。
许多计算装置可以由若干配置参数表征的各种数据网络连接建立与外部有线和 无线网络的数据连接。举例来说,计算装置可经由利用安全套接字层(SSL)协议建立安全 通信链路的Wi-Fi网络或经由利用指定QOS参数的EVDO数据链路来建立数据连接。数据 连接特性配置参数由在计算装置上执行的使用所述数据连接的特定应用程序请求以便指 示所需的服务。这些参数是在设立数据网络连接时向下传递到数据堆栈和网络控制器。
应用程序常常能够共享数据连接。举例来说,具有最少数据连接需要的电子邮件 应用程序可能能够与例如视频流观看器等较稳健的应用程序共享数据连接。在一些情况 下,多个稳健应用程序可在所述多个稳健应用程序中的每一者的特定需要不冲突的情况下 共享数据连接。在多个应用程序之间共享数据连接允许较多应用程序在有限数目的数据连 接可用的情况下在计算装置上同时运行。 无线数据网络可支持多样化应用程序,包含(例如)多媒体串流(音频、视频等)、 GPS、SMS、VOIP、PTT等。通常,每一应用程序需要不同类型的无线数据网络连接。无线网络 足够灵活而得以用不同方式配置以支持不同类型的数据连接性选项。 一些此类数据连接性 配置参数或选项包含(例如) 各种无线网络技术,包含CDMA、 UMTS、长期演进(LTE) 、 WiFi、 WIMAX等; 承载模式-CDMA (lx、 EvD0、 Do RevA/B、 Hybrid (混合)等)、UMTS (GPRS、 EDGE、
HSPA) 、WLAN(IEEE 802. lla、 b、 g等)、WiMAx (IEEE 802. 16d、802. 16e等); 无线电承载配置(例如,用于CDMA的RLP参数、用于UMTS的RLC参数); 链路层参数,包含例如最大传输单位(MTU)、成帧类型等参数; 服务质量(Q0S),包含例如数据速率、延迟、业务类别、可靠性等参数; IP业务处置,包含例如协议标头压縮(R0HC、 IPHC VJ、空)、数据压縮(CCP等)
等参数; 业务类别,包含交互式、实时、后台、数据等; IP协议类型,包含IPv4、 IPv6和移动IP(v4/v6); 提供的服务,例如域、服务器可接入性等; 安全性,例如IPSec(ESP、AH等)、带有或不带有加密等; 采用的验证协议(如果存在),包含CHAP、 PAP、 EAP-AKA、 EAP-SM等;以及,杂项参数,例如不活动定时器、休眠等。举例来说,不活动定时器指示在资源自动
释放之前为了资源使用需等待多久,其为可用以在不使用的数据连接上起始休眠的参数。 可用于配置数据网络连接的各种协议、设定和选项在本文中大体上称为参数,其
每一者可包括多个值或选择。如上文列举所揭露,一些参数是符号性的不可量化的选项,例
如可具有如CDMA、 UMTS、 WIFI、以太网等值的技术类型和可具有如CHAP、 PAP等值的验证类
型。举例来说,视频应用程序可能请求分别为参数"IP协议版本"和"Q0S"指定值"IPv4"
和"32kbps"的数据连接。应用程序可用的每一参数可为"独占的"或"可共享的"。 两个或两个以上应用程序共享数据连接的能力取决于所述应用程序是否指定兼容的数据连接参数。如上文提供的实例参数的列举所揭露,一些参数是"独占的",因为应用 程序可仅以满足所指定参数的数据连接来起作用,而其它参数是"可共享的",因为应用程 序可以用可接受的参数值配置的数据连接来起作用。术语"独占的"和"可共享的"在本文 中仅用以描述应用程序可针对其接受或无法接受折衷(即,接受具有与其请求的配置参数 设定或值不同的配置参数设定或值的数据连接)的数据连接配置参数——无法折衷的配置 参数在本文中称为"独占的",而可折衷的配置参数在本文中称为"可共享的"。术语"独占 的"不应解释为意味着数据连接必须专用于单个应用程序,因为指定相同独占参数的两个 应用程序可共享满足所述特定独占参数的数据通信。"独占的"数据连接配置参数是发出请求的应用程序必须如所指定而具有的且无 法在不致使所述发出请求的应用程序失败的情况下折衷或更改的配置细节。举例来说,需 要CDMA技术数据连接的应用程序通常无法以除CDMA以外的数据连接(例如,WIFI、LAN或 UMTS)操作。因此,网络技术是"独占的"数据连接配置参数的实例——两个应用程序可仅 在所述两个应用程序是CDMA兼容的情况下共享此CDMA数据连接。举例来说,如果一个应 用程序需要CDMA,而另一应用程序需要WIFI,那么这种在独占网络技术参数上的冲突意味 着这两个应用程序无法共享同一数据连接。为了使这两个应用程序同时运行,计算装置将 需要建立两个单独的数据连接。独占配置参数的典型实例包含网络技术、承载模式、无线电 承载配置以及IP协议类型(例如,IPv4与IPv6)。 相比之下,"可共享的"数据连接配置参数是发出请求的应用程序可接受折衷或变 化且仍起作用的配置细节。举例来说,如果应用程序指定数据传输速率作为可共享的参数, 那么所述应用程序可能能够以较慢的或较高的数据速率起作用。因此,在其数据连接请求 中指定不同数据传输速率的两个应用程序可能能够共享单个数据连接,例如具有等于所述 两个指定速率中的较大者的数据速率的数据连接。典型的可共享配置参数的实例包含MTU、 数据传输速率、QoS以及不活动定时器。 配置参数独占性和可共享性是应用程序特定的,因为一些应用程序可能能够在其 它应用程序视为独占的一些配置参数上折衷。举例来说,IP协议类型(即,IPv4与IPv6) 通常是独占参数,但一些IPv6应用程序能够在通过IP隧穿配置于IPv4的数据连接上起作 用。作为另一实例,QoS通常是可共享的以指示目标服务质量,但例如串流视频等一些应用 程序可能不能够以小于所指定QoS的QoS起作用。 在此之前,当需要数据连接的应用程序在计算装置上起始时,满足装置的所请求 配置参数的新数据连接被打开。如果计算装置不具有充足的通信资源(例如,通信端口或 收发器电路)以打开新数据连接,那么应用程序将无法起始,或者必须终止或暂停另一应 用程序以便释放通信资源来建立新数据连接。作为替代方案,计算装置可将应用程序连接 到现存的数据网络连接。然而,如果所述现存的数据网络连接是以不兼容的参数配置的,那 么应用程序启动将失败,或者数据连接将遭受性能降级,其可能影响共享打开的数据连接 的全部应用程序的性能。由于便携式计算装置通常具有有限的通信资源且由于连接不兼容 性带来的应用程序失败可使用户受到挫折,因此需要用于在有限的通信资源之间有效分配 应用程序的方法。 各种实施例提供用于使得多个应用程序能够共享数据连接同时避免可致使应用 程序失败的冲突的方法。连接管理器可以软件提供,例如与系统软件协作或作为系统软件的部分而操作的软件功能模块。连接管理器可收集由请求数据连接的新应用程序识别的配 置参数。连接管理器可随后将考虑中的每一可能数据连接作为支持新应用程序的候选者来 进行评估。对于考虑中的每一打开的数据连接,连接管理器可评估由发出请求的应用程序 指定的每一独占参数以确定是否存在与使用所述数据连接的任何其它应用程序的冲突。如 果在新应用程序的独占参数与使用所述数据连接的另一应用程序的对应独占参数之间存 在冲突,那么将不对所述数据连接候选者作进一步考虑(即,将其从正作为支持新应用程 序的候选者进行评估的数据连接的列表中去掉)且评估下一数据连接。这种对应用程序独 占配置参数之间的冲突的评估是针对每一打开的数据连接执行的。如果在评估所有打开的 数据连接之后,不再有考虑中的连接(即,在每个打开的数据连接上存在独占参数冲突), 那么倘若存在充足的通信资源可用,则使用由发出请求的应用程序指定的配置参数来打开 新数据连接。如果没有充足的资源可用于打开另一连接,那么应用程序可能无法初始化, 且可能指示错误。如果仍存在打开的数据连接待考虑(即,一个或一个以上数据连接与新 的(即,发出请求的)应用程序所需要的任何独占参数不具有冲突),那么评估新应用程序 和当前使用不冲突的数据连接的全部应用程序的可共享参数中的每一者以确定相互可接 受的配置。各种实施例通过计算"联合规则"来完成此评估,所述联合规则是将产生对于使 用数据连接的全部应用程序均可接受的参数的值或设定的规则。每一配置参数具有对应的 联合规则,所以此过程针对每一可共享参数而重复。同时,确定全部应用程序由折衷配置参 数支持的程度的量度。此支持量度可在全部配置参数上合计或以另外方式组合以获得每一 数据连接将适应新应用程序以及已经使用所述连接的其它应用程序的良好程度的量度。最 终,使用最好地支持新应用程序的可共享参数(即,提供与新应用程序和使用所述数据连 接的其它应用程序的可共享参数需要的最好配合)的数据连接来为新应用程序提供数据 连接,且使用通过应用参数联合规则而确定的所得参数值来配置所述连接。
各种实施例还管理数据连接以确保其在应用程序终止(且因此不再使用数据连 接)且修改其配置参数请求时使用优化配置参数。当单独使用数据连接(即,不与其它应 用程序共享所述数据连接)的应用程序终止时,相关联的数据连接被关闭,进而释放通信 资源以用于其它应用程序。如果正终止的应用程序正共享数据连接,那么重新评估所述配 置参数以针对使用所述数据连接的其余应用程序来确定可共享参数的最优折衷,且相应地 重新配置所述数据连接。当使用共享数据连接的应用程序请求对配置参数的改变时,重新 评估所述配置参数以针对经修改参数加上使用所述数据连接的其它应用程序的全部共享 参数来确定可共享参数的最优折衷,且相应地重新配置所述数据连接。 各种实施例可用于多种有线和无线网络,包含(例如)采用蜂窝式和WIFI数据通 信链路的无线网络。举例来说,图1展示包含因特网12、蜂窝式网络、WIFI网络和LAN的通 信网络10的框图,所述因特网12、蜂窝式网络、WIFI网络和LAN与例如移动手持机15、25、 个人计算机13、膝上型计算机23以及联网的服务器22、28、32等多种计算装置通信。如图 l说明,现代计算装置可接入广泛多种可用的数据通信链路,其中主要的限制是包含于或连 接到计算装置的通信资源。 例如个人计算机13、蜂窝式电话15以及膝上型计算机23等计算装置可连接到例 如图1中说明的多种数据连接。举例来说,个人计算机13可经由拨号、电话、电缆或局域网 14接入因特网12,所述个人计算机13可在所述拨号、电话、电缆或局域网14之间进行选择以发送和接收例如因特网通信等数据消息。作为另一实例,蜂窝式电话15和其它移动装置 可通过与基站16的无线数据连接来接入任何蜂窝式网络。基站16耦合到蜂窝式网络基 础结构,例如可将数据呼叫路由到提供与因特网12的数据连接的服务器22的呼叫路由器 18。作为另一实例,例如膝上型计算机23等计算装置可通过若干不同的数据连接而连接到 网络。图1说明三种选项,如膝上型计算机23可经由耦合到具有与因特网12的连接的局 域网服务器28的局域网26而接入因特网12。而且,膝上型计算机23可经由例如通过电 缆24或PCMCIA连接器或插入式无线卡蜂窝式网络收发器连接到膝上型计算机23的蜂窝 式通信装置(例如蜂窝式电话25)而接入蜂窝式网络。在此实例中,蜂窝式电话25或无线 卡(未图示)建立对基站16的蜂窝式数据呼叫,所述基站16经由服务器22建立与因特网 12的数据连接。另外,膝上型计算机23可通过经由WiFi无线收发器与WiFi基站30通信 来连接到WiFi网络,所述WiFi基站30连接到能够接入因特网12的服务器32。虽然未明 确展示,但蜂窝式电话15、25还可经由建立与WiFi基站30的无线数据连接的WiFi收发器 以及与网络的电缆连接(例如连接到与局域网26连接的膝上型计算机23的数据电缆24) 而接入网络。因此,计算装置13、15、23、25可具有可用于接入网络和支持应用程序的多种 不同数据连接。 除了用于在不同计算装置之间交换数据的网络之外, 一些计算装置架构包含基于
内部处理的装置和服务提供电路(例如GPS接收器)以及并行处理器、内部数据库驱动器、
服务器和经由以类似于外部数据与网络连接的方式来管理的内部数据连接进行通信的其
它基于处理器的电路。因此,各种实施例可应用于内部和外部数据连接两者。 为了确定在共享数据连接的多个应用程序之间每一共享参数的切实可行折衷,各
种实施例将参数特定算法(本文称为联合规则)应用于由应用程序中的每一者请求的相应
参数值。可为探索性或公式性的联合规则是界定可如何将特定可共享参数值组合为折衷或
超集的规则。联合规则将由进行共享的应用程序为可共享参数指定的全部值取作输入,且
使所述值行进通过计算逻辑以提供所得值。为每一可共享参数类型提供单独的联合规则。
一些参数类型还可具有多个联合规则,从而使得不同的实施方案能够基于情形而在所述多
个规则之间进行选择。将联合规则应用于多个应用程序的参数值请求产生特定可共享参数
的值或选项选择。联合规则可选择不同于所述应用程序中的一些或全部所请求的值或选项
的值或选项,但如果联合规则经适当拟定,那么所选择的值将不会显著影响使用基于所述
所选择的值而配置的数据连接的应用程序的行为。将单独的联合规则应用于每一参数以获
得折衷的参数值集合。随后使用所得的参数值集合来配置将由所述多个应用程序共享的数
据连接。 作为实例,用于不活动定时器参数的联合规则可为〈所指定值中的最大值是所 得值 >,其中R =所得值。对于其中四个应用程序将共享数据连接且每一者指定特定参数值 v的情形,此联合规则可重新描述为 尺不活动定时器=(vl, v2, v3, v4} = vl,使得vl为MAX(vl, v2, v3, v4}。
在第二实例中,用于信道延迟参数的联合规则中的一者可为〈所指定值中的最 小值是所得值 >,其中R =所得值。对于所述四个应用程序的情形,此联合规则可重新描述 为 Rf道延迟二 {vl, v2, v3, v4} = vl,使得vl为MIN(vl, v2, v3, v4}
15
请求数据连接的应用程序还可指示参数是需要的(必须支持)还是任选的(最好 支持)。可添加其它类似的限定符以指示某一参数对于应用程序来说有多重要。如果任选 参数被指定,那么可将其用作提示,且可做出最佳努力来支持所述参数。举例来说,可忽略 所述参数,如果这样允许应用程序共享已经存在的数据连接的话。另一方面,如果因为其它 独占参数与现存数据连接冲突而无论如何均需要设立新的数据连接,那么可在配置中支持 任选参数。还可将限定符用于配置更新,如下文解释。如果限定符未被指定,那么连接管理 器可代表应用程序自动做出关于哪些可共享参数绝对必须被支持的决策。
图2A中展示可用于应用程序的数据连接配置参数的实例数据结构。数据表40中 所示的值表示配置参数子集,提供所述配置参数子集以说明可在计算装置中实施的数据结 构。数据表40可为如表示为若干行的数据记录表的结构,每一行由表示为若干列的数据字 段组成。在所说明的样本中,第一数据字段包含配置参数名称42,其每一者可具有多个所支 持的值44以及可共享/独占指示46 (例如,旗标或二进制值),所述可共享/独占指示46 指示所述参数是独占的还是可共享的(即,能够由折衷或超集值满足)。数据记录还可包含 联合规则字段48,其(如本文更全面描述)提供用于在由共享数据连接的应用程序请求的 不同参数值之间确定可接受折衷的规则。在图2A中说明的实例中,仅展示联合规则的概要 名称(例如,"最小"、"最大"和"总和"),然而在一些实施方案中,联合规则本身可包含在数 据表40内。 当应用程序请求数据连接时,其可指定其需要的配置参数。此指定可呈数据表的 形式。而且,如本文所述,连接管理器可将每一应用程序请求的所请求数据参数存储在存储 器中的数据表中。图2B中展示可能由应用程序请求的数据连接配置参数的数据表50的实 例。此表仅展示对于数据连接将通常指定的配置参数的子集。所请求参数数据表50中的 每一数据记录均可包含参数名称52、针对所述参数的所请求值或设定44,以及对参数是任 选的还是应用程序所需要的指示56。 当新应用程序起动且向系统软件请求数据连接或者已经运行的应用程序停止时, 此类事件可能需要对现存打开的数据连接配置参数的改变。如果打开的数据连接是在多个 应用程序之间共享的,那么可通过应用对应的参数联合规则来针对可共享配置参数中的每 一者确定折衷或相互可接受的配置。来自将联合规则应用于由共享打开的数据连接的全部 应用程序所请求的可共享参数的所得值可用以更新数据连接配置。对数据连接配置参数的 更新可为"本地更新"或"远程更新"。本地更新是可由计算装置自身的硬件或软件通过在 无需与经由数据连接进行通信的外部装置协作的情况下改变本地配置参数而完成的配置 修改。远程更新是需要与一个或一个以上网络实体协作的配置修改。完成远程更新需要向 一个或一个以上网络实体发送一个或一个以上空中(OTA)信令消息以请求对通信配置参 数的改变。本地更新较简单且在大多数情况下将总是成功。远程更新包含某种延迟,因为 网络需要接收请求,且如果被接受则可能需要一些时间来实施。而且,例如如果所请求的更 新无法由所述一个或一个以上网络实体支持,那么远程更新也可能被网络拒绝。
本地更新的实例是涉及限于计算装置的处理的不活动定时器参数。远程更新的实 例是对QOS参数的更新(例如在无线电承载上请求的数据速率),其需要通信链路的另一 端上的收发器协调任何改变以便以经更新的QOS参数值来发射和接收信号。响应于对改变 QOS参数的请求,网络可能在由于例如许可控制或预订原因而无法分配充足的无线电资源的情况下拒绝更新。 如果远程更新被网络拒绝,那么将需要采取实施方案特定动作。如果被拒绝的配 置参数经限定为由新应用程序所需要(参见例如图2B),那么新应用程序起始由于所述应 用程序无法被支持而失败,因为无法提供所需要的数据连接配置。特定动作还可包含通知 应用程序以使得其可选择请求针对被拒绝的参数的替代值。另外,动作可包含告知用户如 果无法提出替代值则无法激活或支持应用程序。如果被拒绝的配置参数经限定为对新应用 程序是任选的(参见例如图2B),那么应用程序可仍被允许在没有所需要配置的情况下使 用数据连接。在此情况下,可向应用程序通知远程更新拒绝情形,因此应用程序可选择请求 针对同一参数的替代值。或者,应用程序可经配置以简单地在远程更新请求被拒绝时终止 且放弃其对数据连接的请求。 本地更新与远程更新之间的区别不一定是依赖于参数的,因为所请求参数和联合 规则可使得一些更新能够在本地完成。举例来说,出于技术偏好的联合规则中的一者是〈 指定技术值中的共同技术是所得值>,其中1 =所得值。这可重新陈述为R^gajM^二 {vl, v2, v3} = R,使得R为{vl, v2, v3}的共同交集。在vl为ANY_WWAN、v2为CDMA或EVD0且 v3为EVD0的实例情形中,所得值将为R = EVD0,因为EVD0是三个请求之间的仅有共同值。 如果第四应用程序随后请求具有技术参数值v4 = UMTS的数据连接,那么所得值将为R = 0或空,因为在四个请求之间不存在共同值。在此情况下,如果数据连接已经以EVD0建立, 那么第四应用程序无法共享此数据连接(如果此参数被指示为所需要的)。继续此实例,如 果共享数据连接的第三应用程序终止且第四应用程序没有重新起动,因此仅有的参数值是 vl和v2,那么用于联合规则的所得值将为CDMA或EVD0。由于数据连接已经以EVD0建立, 因此新配置可允许数据连接在lx/EVD0混合模式中起作用,其中其可在lx或EVD0之间来 回切换以获得较高的灵活性和效率。此配置更新可被处置为本地更新,因为不需要来自网 络的协作。 在一实施例中,可依据如何实施所述实施例而针对一些可共享参数类型实施多个 联合规则。允许多个联合规则使得连接管理器能够调整到不同的操作情形或设定。举例来 说,考虑界定应用程序的数据可被传输的速率(例如以位/秒为单位)的数据速率参数类 型。可为此参数类型提供两种不同的联合规则,例如使用全部应用程序数据速率的总和 ("总和");以及使用全部数据速率的最大值("最大")。(请注意,第三规则可为取最小 数据速率。)随后,依据计算装置中的因数或状态(其可取决于多种操作、编程或个人选择 选项)而定,可在特定应用程序起动时使用这两个联合规则(即,总和或最大)中的一者。 为了完成此实例,考虑其中新应用程序1具有64kbps(千位/秒)的数据速率参数值且已 经运行的应用程序2具有128kbps的数据速率参数值的情形。如果在应用程序1起动时选 择总和联合规则,那么应用所述联合规则的结果将是192kbps的数据速率参数值。另一方 面,如果在应用程序1起动时选择最大联合规则,那么结果将是128kbps的数据速率参数。 在这两个实例中,在用于应用程序1的通信信道中实施的数据速率可能大于所述应用程序 所请求的数据速率参数值。在多个联合规则可用的情况下,将应用哪一规则的选择是依赖 于实施方案的。而且,可使用可配置的策略来选择应在特定情形中应用的联合规则。
在一实施例中,连接管理器可实施用于在应用程序起动时共享数据连接的方法, 如图3中说明。当新应用程序起动且其请求数据连接(步骤60)时,其提交对数据连接的请求,所述请求指定若干通信配置参数。此数据连接请求可由连接管理器接收,所述连接管理器收集由新应用程序请求的通信参数(步骤62)。可将那些所请求的通信参数(包含独占和可共享通信参数两者)存储在系统可存取的存储器中(步骤64),使得其可用于配置数据连接且用于计算可共享参数联合规则,如下文更全面描述。如果新应用程序是请求数据连接的第一应用程序(测试66),那么连接管理器可简单地起始新数据连接(步骤104),从而使用由新应用程序请求的配置参数来配置所述连接(步骤106)。 一旦新数据连接建立,新应用程序的通信便可开始(步骤108)。 然而,如果新应用程序不是将建立数据连接的第一应用程序(S卩,测试66 ="否"),那么连接管理器可执行一系列三个循环,以评估考虑中的每一打开的数据连接(循环l——步骤68到90)以确定新应用程序是否与使用打开的数据连接的其它应用程序的任何独占参数不冲突(循环2——步骤70到76),且对于在从考虑中排除冲突的连接之后仍留在考虑中的每一数据连接,确定每一不冲突的数据连接的将使得其能够由新应用程序共享的配置(循环3——步骤78到86)。 为了开始打开的数据连接评估过程,连接管理器可在考虑中的连接中选择第一打开的数据连接作为候选者(步骤68),且选择第一请求的配置参数用于评估(步骤70)。在步骤70中,将所选择的所请求配置参数与由当前共享所选择数据连接候选者的其它应用程序请求的对应独占参数进行比较以确定参数是否冲突(测试72)。如果新应用程序的独占参数与已经使用所选择打开的数据连接候选者的应用程序的独占参数冲突,那么这意味着数据连接候选者无法由新应用程序共享。如上文描述,独占参数中的冲突可在新应用程序请求与已经使用打开的数据连接候选者的应用程序所需要的参数不兼容的所需要参数时发生。举例来说,如果打开的数据连接候选者经配置以用于EVDO通信技术(如当前执行的应用程序所需要),且新应用程序需要数据连接经配置以用于CDMA通信技术,那么这两个所需要的参数是不兼容的,且因此冲突存在(即,测试72将为"是")。在独占参数中存在冲突的情况下(即,测试72 ="是"),连接管理器可从考虑中的连接的列表中移除冲突的打开的数据连接(步骤73),且通过跳到下文描述的测试88而继续评估作为候选者的下一打开的数据连接。然而,如果所选择的独占参数与由已经使用打开的数据连接候选者的应用程序所需要的对应参数不冲突(即,测试72 ="否"),那么配置管理器可确定是否存在另一独占参数待评估(测试74)。如果存在另一独占参数待评估(即,测试74 ="是"),那么连接管理器可选择下一独占参数用于评估(步骤76),之后返回到评估所选择的独占参数是否与由已经使用打开的数据连接候选者的应用程序所需要的独占参数冲突,从而返回到测试72。 —旦全部独占参数均已被评估(即,测试74 ="否"),连接管理器便可随后选择第一可共享参数用于评估(步骤78)。通过使用所选择的所请求可共享参数以及已经使用所选择的打开的数据连接候选者的应用程序的对应参数,连接管理器可随后计算与所述特定参数相关联的联合规则(步骤80)。如上文描述,将联合规则应用于各种应用程序的所请求参数值导致识别折衷或超集参数值,所述折衷或超集参数值将使得打开的数据连接候选者能够由当前应用程序和新应用程序共享。计算出的联合规则所得值可存储在存储器中以供稍后用于配置打开的数据连接候选者。另外,基于联合规则的结果满足将共享所选择的打开的数据连接候选者的新应用程序和当前执行的应用程序的参数请求的程度,可将优先级或质量值指派给打开的数据连接候选者(步骤82)。如下文描述,基于所选择参数的联合规则所得值而指派给打开的数据连接候选者的优先级或质量将与指派给全部可共享参数的优先级或质量值组合以确定所选择的打开的数据连接候选者的总体分级或优先级,其可用以选择特定的打开的数据连接以指派给新应用程序。连接管理器可随后通过确定是否存在另一可共享参数待评估(测试84)而继续到下一可共享参数,且如果存在,那么选择下一可共享参数(步骤86),之后返回到步骤80,在步骤80处将对应联合规则应用于所选择的参数。 —旦全部可共享参数均已被评估(即,测试84 ="否"),连接管理器便可通过确定是否存在考虑中的另一打开的数据连接待作为候选者评估(测试88)而继续到仍在考虑中的下一打开的数据连接,且如果存在,那么选择下一打开的数据连接作为数据连接候选者(测试90),且通过返回到其中选择第一独占参数用于评估的步骤70而重复参数评估过程。 —旦全部打开的数据连接均已被评估(S卩,测试88 ="否")且从考虑中去除了冲突的连接,连接管理器便可确定是否存在任何可共享的打开的数据连接仍待考虑(测试92)。如果在至少一个数据连接中的独占参数之间不存在冲突(S卩,对于至少一个数据连接来说,测试72 ="否"),那么可共享的打开的数据连接将存在。如果打开的数据连接的评估揭露了打开的连接可被共享(即,不存在仍在考虑中的打开的数据连接,因此测试92 ="否"),那么连接管理器可确定是否存在充足的通信资源来打开另一数据连接(测试102)。如果存在充足的资源(即,测试102 ="是"),那么连接管理器可随后继续以起始新数据连接(步骤104),从而使用由新应用程序请求的配置参数来配置所述新连接(步骤106)。 一旦新数据连接建立,则新应用程序的通信可开始(步骤108)。然而,如果没有充足的资源来打开另一数据连接(即,测试102 ="否"),那么新应用程序的初始化可能失败且系统返回错误消息(步骤IIO)。 如果打开的数据连接的评估揭露一个或一个以上数据连接可被共享(存在至少一个仍在考虑中的打开的数据连接,因此即,测试92 ="是"),那么连接管理器可选择具有最高优先级或质量值的打开的数据连接作为候选者以用于指派给新应用程序(步骤94)。此选择可基于步骤82中针对共享参数中的每一者而指派给各种打开的数据连接中的每一者的优先级或质量值。随后更新所选择的打开的数据连接的配置以实施在步骤80中针对所选择的数据连接确定的全部共享参数所得值。如果成功完成,则此步骤使得新应用程序能够开始共享所选择的打开的数据连接。 由于打开的数据连接配置更新可能需要来自网络节点的协作,S卩,至少一个参数涉及远程更新,因此连接管理器可测试远程更新是失败(即,被网络拒绝)还是成功(即,被网络接受且实施)(测试98)。如果远程更新成功(即,测试98="否"),那么新应用程序的通信可开始(步骤108)。然而,如果远程更新失败(即,测试98 ="是"),那么新应用程序的初始化可能失败且系统返回错误消息(步骤110)。如果正被更新的全部配置参数均涉及本地更新(即,在计算装置本身内实施),那么可绕过测试98。 虽然图3说明其中在可共享参数之前评估独占参数的方法,但替代方法可又无论配置参数是独占的还是可共享的而评估配置参数中的每一者。此替代实施例将把第二和第三循环组合为对全部通信参数的单个递归分析。 果任何独占参数冲突(即,测试72 ="是"),那么配置参数的评估将针对所述特定的打开的数据连接候选者而结束,其中过程例如通过移动到步骤88而跳到考虑下一打开的数据连接候选者。此替代方法的缺点在于,如果后续配置参数证明是独占的且冲突的,那么在将联合规则应用于可共享参数中可能涉及某种额外处理。 用于在应用程序起动时共享数据连接的替代实施例方法的伪码实施方案如下
1.当新应用程序起动时,收集其指定的独占参数和可共享参数。
2.在每一可用/经建立的数据连接上列举 a.所指定的独占参数中的任一者是否与由此数据连接使用的独占参数冲突?
i.如果是,那么跳转到下一可用的数据连接,前进到步骤2a。
ii.如果不是,那么前进到步骤2b。
b.对于所指定的每一可共享参数 i.通过考虑新的和现存的值,基于用于此参数的联合规则而计算新的所得值。
ii.基于所得值可被支持的良好程度来向此数据连接指派/更新优先级。
c.评估下一数据连接,前进到步骤2a。 3.从候选者集合中拣选具有最高优先级的数据连接(如果其存在)。 a.针对所需要的全部可共享参数,基于新的所得值(本地或远程)更新数据连接
的配置。 b.如果远程更新对于所需要的参数失败,那么向应用程序指示错误 4.如果候选数据连接集合为空,那么在足够资源可用的情况下起始新数据连接。 a.以由应用程序指定的独占参数和可共享参数来配置新数据连接。 b.存储由此应用程序指定的独占参数和可共享参数 实施例还可在共享数据连接的应用程序终止时更新打开的数据连接配置。此做法允许针对当前共享打开的数据连接的应用程序来优化数据连接配置,以及简化当另一应用程序请求数据连接时应用联合规则的过程。 图4是可在实施例中实施以在应用程序终止时更新打开的数据连接的实例步骤的过程流程图。当使用数据连接的应用程序终止(步骤150)时,连接管理器识别应用程序所使用的数据连接(步骤152)且确定所述连接是否正由多个应用程序共享(测试154)。如果数据连接没有正被共享(即,测试154 ="否"),那么连接管理器可关闭所述连接(步骤156)。如果数据连接正被共享(即,测试154 ="是"),那么连接管理器可选择第一可共享参数(步骤158),且将对应的联合规则应用于由共享打开的数据连接的其余应用程序请求的参数值(步骤160)。此过程通过如下方式针对共享参数中的每一者而重复连接管理器确定是否存在另一共享参数待评估(测试162),且如果存在,那么选择下一共享参数(步骤164),之后返回到步骤160以将对应的联合规则应用于所选择的参数。 一旦全部共享参数已被如此评估(即,测试162 ="否"),便以所得参数值来更新数据连接配置。在一实施例中,配置管理器可测试在从打开的数据连接移除正终止的应用程序之后是否仅单个应用程序仍在使用所述连接,且如果是,那么绕过应用联合规则的循环且直接移动到使用由其余应用程序请求的参数来更新数据连接配置。另外,连接管理器可通过实施类似于如上文参看图3描述的步骤98的步骤来测试是否有实施为步骤166的部分的任何远程更新成功。
用于在应用程序终止时管理数据连接配置的实施例方法的伪码实施方案如下
1.当已经执行的应用程序终止时,
a.识别正由此应用程序使用的数据连接 b.检索由正终止的应用程序在其起动时指定的独占参数和可共享参数。
2.如果这是使用所述数据连接的仅有应用程序,那么关闭所述数据连接。
3.如果其它应用程序正在共享所述数据连接,那么
a.对于由应用程序指定的每一可共享参数 i.通过考虑全部所指定的值(不包括由正终止的应用程序指定的值),使用联合规则来计算参数的所得值 ii.以新的所得值(本地或远程)配置数据连接。 实施例还可在共享连接的应用程序请求对配置参数中的一者或一者以上的改变时更新数据连接配置,其实例方法说明于图5中所示的过程流程图中。当应用程序请求对数据连接配置参数的改变或修改(步骤200)时,连接管理器可确定所述特定参数是否无法修改(测试202)。如果所选择的参数中的任一者无法修改(即,测试202 ="是"),那么修改请求失败(步骤212),其可在拒绝或失败通知中传达给应用程序。 如果被请求修改的全部参数可被修改(即,测试202 ="否"),那么连接管理器可收集经修改参数值请求(步骤204)。每一待修改参数是在可通过连接管理器选择第一经修改独占参数用于评估(步骤206)而开始的循环中评估的。如果没有待修改的独占参数,那么连接管理器可跳到步骤222以开始评估可共享参数。如果数据连接被共享(即,由请求修改的应用程序加上至少一个其它应用程序共享)(测试208),那么连接管理器可确定所请求的参数修改是否与由共享数据连接的其它应用程序所需要的对应独占参数冲突(测试210)。如果所选择的待修改的独占参数与使用数据连接的其它应用程序的所需要参数值冲突(即,测试210="是"),那么修改请求失败(步骤212),其可在拒绝或失败通知中传达给应用程序。 如果所选择的待修改的独占参数不与使用数据连接的其它应用程序的所需要参数值冲突(即,测试210 ="否"),那么可基于所选择的经修改独占参数来更新数据连接配置(步骤214)。而且,如果与修改一个或一个以上参数的应用程序相关联的数据连接没有与另一应用程序共享(即,测试208 ="否"),那么可基于所选择的经修改独占参数来更新数据连接配置(步骤214)。还以经修改的独占参数来更新应用程序的经存储参数值请求(步骤216)。 此过程通过如下方式针对正被修改的独占参数中的每一者而重复测试是否存在另一经修改独占参数(测试218),且如果存在,那么选择下一经修改独占参数(步骤220),之后返回到步骤210以确定参数修改是否与由共享数据连接的其它应用程序所需要的对应参数冲突。 —旦被请求修改的全部独占参数已被评估(即,测试218 ="否"),连接管理器便可选择被请求修改的第一可共享参数(步骤222)。如果数据连接被共享(g卩,由请求修改的应用程序加上至少一个其它应用程序共享)(测试224),那么连接管理器可将与所选择的可共享参数相关联的联合规则应用于所请求的经修改参数和共享数据连接的全部应用程序的所请求参数(步骤228)。随后使用联合规则所得值来修改数据连接配置(步骤230)。还以经修改的独占参数来更新应用程序的经存储参数值请求(步骤232)。
此过程通过如下方式针对正被修改的可共享参数中的每一者而重复测试是否存在另一经修改可共享参数(测试234),且如果存在,那么选择下一经修改可共享参数(步骤236),之后返回到步骤228以将对应联合规则应用于所选择的可共享参数和由共享数据连接的其它应用程序请求的参数。 一旦全部可共享参数已被评估(即,测试234 ="否"),修改过程便结束(步骤238)。 图6是说明用于在应用程序请求对配置参数的改变时更新数据网络连接配置的替代实施例方法的过程流程图。图6中说明的方法类似于图5中说明的方法,不同之处是可实施初步测试250以确定有关的数据连接是被共享还是仅由请求配置改变的应用程序使用。如果数据连接被共享(即,测试250 ="是"),那么连接管理器如上文参看图5所描述继续进行评估和配置步骤204到238。然而,如果数据连接没有被共享,且因此仅由请求对配置参数的修改的应用程序使用(即,测试250 ="否"),那么连接管理器可继续以基于所请求的经修改配置参数来修改数据连接(步骤252)。随后更新应用程序的经存储数据连接参数请求以包含经修改配置参数(步骤254),之后修改例行程序结束(步骤238)。
在又一实施例中,实施方案可选择修改数据连接配置以使得所请求的参数的全部被修改或没有一者被修改。在此实施例中,举例来说,可做出关于对配置的所请求改变是否是需要的或将涉及大量参数的初步确定。如果所述改变是任选的或涉及仅一个或几个参数,那么连接管理器可选择不修改配置,以便避免使共享打开的数据连接的应用程序的数据通信中断。或者,如果所述改变是需要的或涉及大量参数,那么连接管理器可选择计算全部联合规则且相应地更新配置中的全部参数。 用于在应用程序请求对配置的改变时管理数据连接配置的实施例方法的伪码实施方案如下 1.当已经执行的应用程序修改其较早请求的配置时,
a.分析新配置参数。 b.如果所述参数中的任一者不可修改,那么拒绝操作。
c.收集其余参数用于修改。
2.对于每一待修改的独占参数 a.如果数据连接被共享,那么只有在其不与使用同一数据连接的其它应用程序冲突的情况下才修改独占参数,否则拒绝操作。 b.如果数据连接仅由此应用程序独占使用,那么基于新的独占参数(本地和远程)修改配置 c.更新用于此应用程序的新的独占参数集合。
3.对于每一待修改的可共享参数 a.如果数据连接被共享,那么通过考虑新的值和现存的值且排除来自此应用程序的先前值,基于用于此参数的联合规则来计算新的所得值。 b.如果数据连接仅由此应用程序独占使用,那么新的所得值与由应用程序指定的参数值相同。 c.基于新的所得值(本地或远程)修改数据连接的配置
d.更新用于此应用程序的新的可共享参数集合。 各种实施例可扩展以支持任何类型的应用程序,且不限于数据应用程序。而且,如
22上文描述,各种实施例可用于使用任何类型的网络的数据罐连接,所述网络包含有线和无线网络。因此,尽管实施例描述中的一些是针对只有无线通信才有的参数,但本发明的范围和权利要求书不应限于无线网络实施方案。本文列出的各种配置参数仅用于示范性目的,可使用其它配置参数且每一网络技术可使用不同的参数或仅使用本文描述的参数的子集。
上文描述的实施例可实施在多种便携式计算装置中的任一者上,例如蜂窝式电话、具有蜂窝式电话和/或WIFI收发器的个人数据助理(PDA)、移动电子邮件接收器、移动网接入装置以及在未来可能开发的连接到一个或一个以上数据连接的其它配备处理器的装置。通常,此类便携式计算装置将共同具有图7中说明的组件。举例来说,便携式计算装置28可包含耦合到内部存储器282和显示器283的处理器281。另外,便携式计算装置28将具有连接到无线数据链路的用于发送和接收电磁辐射的天线284和/或耦合到处理器281的蜂窝式电话收发器285。在一些实施方案中,收发器285以及处理器281和存储器282的用于蜂窝式电话通信的部分被称为空中接口,因为其经由无线数据链路提供数据接口 。便携式计算装置28还通常包含小键盘286或微型键盘与菜单选择按钮或摇臂开关287以用于接收用户输入。处理器281可进一步连接到例如通用串行总线(USB)或FireWire⑧连接器插座等有线网络接口 288以用于将处理器281连接到例如个人计算机13、23等外部计算装置或外部局域网。 处理器281可为可通过软件指令(应用程序)配置以执行包含上文描述的各种实施例的功能在内的多种功能的任何可编程微处理器、微型计算机或多处理器芯片。在一些便携式计算装置28中,可提供多个处理器281,例如一个处理器专用于无线通信功能且一个处理器专用于运行其它应用程序。通常,在软件应用程序被存取且加载到处理器281中之前,其可存储在内部存储器282中。在一些便携式计算装置28中,处理器281可包含足以存储应用程序软件指令的内部存储器。为了本描述内容的目的,术语"存储器"指代可由处理器281存取的全部存储器,包含内部存储器282和处理器281本身内的存储器。应用程序数据文件通常存储在存储器282中。在许多便携式计算装置28中,存储器282可为易失性或非易失性存储器(例如快闪存储器)或两者的混合。 上文描述的实施例还可实施在多种计算装置中的任一者上,例如图8中说明的个人计算机13。此个人计算机13通常包含计算机外壳290、耦合到易失性存储器292的处理器291以及例如磁盘驱动器293等大容量非易失性存储器。计算机13还可包含耦合到处理器291的软盘驱动器294和光盘(CD)驱动器295。通常,计算机装置13将还包含例如键盘296的用户输入装置以及显示器297。计算机装置13还可包含耦合到处理器291以用于建立数据连接或接纳外部存储器装置的若干连接器端口 (例如USB或FireWire⑧连接器插座(未图示)),以及用于将处理器291耦合到网络的网络连接电路(未图示)。在膝上型计算机配置23中,计算机外壳290包含键盘296和显示器297,如计算机技术中众所周知的。 前述方法描述和过程流程图仅作为说明性实例而提供,且既定不需要或暗示必须以所呈现的次序执行各种实施例的步骤。如所属领域的技术人员将了解,前述实施例中的步骤次序可以任何次序执行。 在本发明的上下文中,方法可通过操作无线网络的部分以执行机器可读指令序列来实施。用以实施前述实施例的硬件可为经配置以执行指令集的处理元件和存储器元件,包含微处理器单元、微型计算机单元、可编程浮点门阵列(FPGA)以及专用集成电路(ASIC),如所属领域的技术人员将了解的,其中所述指令集用于执行对应于上述方法的方法步骤。举例来说,操作部分可为便携式计算机、蜂窝式电话、个人数字助理或导航装置。或者, 一些步骤或方法可由特定用于给定功能的电路执行。 所属领域的技术人员将了解,结合本文中所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此种可互换性,上文已大体上在功能性方面描述了各种说明性组件、块、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于总体系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施方案决策不应解释为致使脱离本发明的范围。 结合本文中所揭示的实施例描述的方法或算法的步骤可直接以硬件、以由处理器执行的软件模块或以两者的组合来体现。软件模块可驻存在处理器可读数据存储媒体或存储器电路中,所述处理器可读数据存储媒体或存储器电路可为以下各项中的任一者RAM存储器、快闪存储器、R0M存储器、EPROM存储器、EERPOM存储器、寄存器、非易失性存储装置(例如,常规的"硬盘驱动器"或RAID阵列)、磁带、可装卸磁盘、光学存储装置(例如,CD-ROM、 DVD、数字光带)、纸质"打孔"卡或包含此项技术中已知或将开发的数字和模拟传输媒体的其它合适的数据存储媒体。示范性存储媒体耦合到处理器以使得处理器可从所述存储媒体读取信息和向所述存储媒体写入信息。在替代方案中,存储媒体可与处理器成一体。处理器和存储媒体可驻存在ASIC中。ASIC可驻存在用户终端或计算装置中。在替代方案中,处理器和存储媒体可作为离散组件驻存在用户终端或计算装置中。另外,在一些方面中,方法或算法的步骤和/或动作可作为一个代码和/或指令或其任何组合或集合驻存在可并入到计算机程序产品中的机器可读媒体和/或计算机可读媒体上。
提供对各种实施例的前述描述以使得所属领域的任何技术人员均能够制作或使用本发明。所属领域的技术人员将容易明了对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下本文中所界定的一般原理可应用于其它实施例。因此,本发明既定不限于本文中所展示的实施例,而是权利要求书应被赋予与本文中所揭示的原理和新颖特征一致的最广范围。
权利要求
一种用于使用由独占配置参数和可共享配置参数表征的多个打开的数据连接中的一者来支持多个应用程序的方法,其包括收集由请求数据连接的新应用程序指定的独占配置参数和可共享配置参数;基于独占参数和可共享参数而从考虑中的多个打开的数据连接中选择一个打开的数据连接以用于指派给所述新应用程序;以及将所述所选择的一个打开的数据连接指派给所述应用程序。
2. 根据权利要求l所述的方法,其进一步包括从所述考虑中的多个打开的数据连接中依序选择打开的数据连接以用于指派给所述新应用程序;将参数特定的联合规则应用于由所述新应用程序指定的每一可共享配置参数以及由使用所述所选择的打开的数据连接的另一应用程序指定的每一可共享配置参数以针对每一可共享配置参数确定所得参数值;基于所述所确定的所得值而将优先级指派给所述所选择的打开的数据连接;重复所述从考虑中的多个打开的数据连接中选择一打开的数据连接、将参数特定的联合规则应用于所述可共享配置参数中的每一者以确定所得参数值以及将优先级值指派给所述所选择的打开的数据连接的步骤,直到考虑中的每一打开的数据连接均已被评估为止;选择具有最高所指派优先级的所述一个打开的数据连接以用于指派给所述新应用程序;以及使用针对具有所述最高所指派优先级的所述打开的数据连接所确定的所述所得参数值来配置所述所指派的打开的数据连接。
3. 根据权利要求2所述的方法,其进一步包括针对每一所选择的数据连接确定由所述新应用程序指定的任何独占配置参数是否与由使用所述所选择的数据连接的另一应用程序指定的独占配置参数冲突;从考虑中去除由所述新应用程序请求的配置参数与由使用所述所选择的打开的数据连接的另一应用程序指定的独占参数冲突的任何所选择的打开的数据连接;以及如果由于冲突的独占需要而从考虑中去除全部打开的数据连接,那么建立新的数据连接。
4. 根据权利要求2所述的方法,其进一步包括当共享一个数据连接的应用程序终止时将所述联合规则重新应用于由共享所述一个数据连接的应用程序指定的可共享配置参数;以及基于从所述将联合规则重新应用于所述可共享配置参数获得的所得参数值而重新配置所述一个数据连接。
5. 根据权利要求2所述的方法,其进一步包括接收来自共享一个数据连接的第一应用程序的修改一个或一个以上可共享配置参数值的请求;将联合规则应用于所述一个或一个以上可共享配置参数值以及共享所述一个数据连接的每一其它应用程序的对应配置参数值以确定经修改的所得配置参数值;以及使用所述所确定的经修改的所得配置参数值来更新所述一个数据连接配置。
6. 根据权利要求l所述的方法,其进一步包括接收来自共享一个数据连接的第一应用程序的修改一个或一个以上独占配置参数值的请求;确定所述经修改的一个或一个以上独占配置参数值是否与由使用所述一个数据连接的另一应用程序指定的对应独占配置参数冲突;以及如果确定任何经修改的独占配置参数值与由使用所述一个数据连接的另一应用程序指定的对应独占配置参数冲突,那么拒绝所述来自所述第一应用程序的修改一个或一个以上独占配置参数值的请求。
7. 根据权利要求2所述的方法,其中基于所述所确定的所得值而指派给所述所选择的打开的数据连接的所述优先级表示所述所确定的所得参数值支持共享所述所选择的打开的数据连接的全部应用程序的程度。
8. —种用于在计算装置中管理数据连接的方法,其包括将参数特定的联合规则应用于由请求数据连接的第一应用程序指定的可共享配置参数以及由使用第一打开的数据连接的第二应用程序指定的对应配置参数以获得第一所得配置参数;以及使用所述第一所得配置参数来配置所述第一打开的数据连接。
9. 根据权利要求8所述的方法,其进一步包括针对所述第一打开的数据连接的每一可共享配置参数重复所述将参数特定的联合规则应用于由所述第一应用程序和所述第二应用程序指定的所述可共享配置参数的步骤,其中应用于每一可共享配置参数的所述参数特定的联合规则存储在存储器中。
10. 根据权利要求8所述的方法,其进一步包括基于所述第一所得配置参数而将第一优先级指派给所述第一打开的数据连接;将所述参数特定的联合规则应用于由请求所述数据连接的所述第一应用程序指定的所述可共享配置参数以及由使用第二打开的数据连接的第三应用程序指定的对应配置参数以获得第二所得配置参数;基于所述第二所得配置参数而将第二优先级指派给所述第二打开的数据连接;基于所述第一和第二优先级而在所述第一和第二打开的数据连接中进行选择;将所述第一和第二打开的数据连接中的所述所选择的一者指派给所述第一应用程序;以及基于所述第一和第二所得配置参数中的对应一者而配置所述第一和第二打开的数据连接中的所述所选择的一者。
11. 一种移动装置,其包括处理器;存储器,其耦合到所述处理器;其中所述处理器以处理器可执行指令来配置以执行包括以下各项的步骤收集由请求数据连接的新应用程序指定的独占配置参数和可共享配置参数;基于独占参数和可共享参数而从考虑中的多个打开的数据连接中选择一个打开的数据连接以用于指派给所述新应用程序;以及将所述所选择的一个打开的数据连接指派给所述应用程序。
12. 根据权利要求11所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤从所述考虑中的多个打开的数据连接中依序选择打开的数据连接以用于指派给所述新应用程序;将参数特定的联合规则应用于由所述新应用程序指定的每一可共享配置参数以及由使用所述所选择的打开的数据连接的另一应用程序指定的每一可共享配置参数以针对每一可共享配置参数确定所得参数值;基于所述所确定的所得值而将优先级指派给所述所选择的打开的数据连接;重复所述从考虑中的多个打开的数据连接中选择一打开的数据连接、将参数特定的联合规则应用于所述可共享配置参数中的每一者以确定所得参数值以及将优先级值指派给所述所选择的打开的数据连接的步骤,直到考虑中的每一打开的数据连接均已被评估为止;选择具有最高所指派优先级的所述一个打开的数据连接以用于指派给所述新应用程序;以及使用针对具有所述最高所指派优先级的所述打开的数据连接确定的所述所得参数值来配置所述所指派的打开的数据连接。
13. 根据权利要求12所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤针对每一所选择的数据连接确定由所述新应用程序指定的任何独占配置参数是否与由使用所述所选择的数据连接的另一应用程序指定的独占配置参数冲突;从考虑中去除由所述新应用程序请求的配置参数与由使用所述所选择的打开的数据连接的另一应用程序指定的独占参数冲突的任何所选择的打开的数据连接;以及如果由于冲突的独占需要而从考虑中去除全部打开的数据连接,那么建立新的数据连接。
14. 根据权利要求12所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤当共享一个数据连接的应用程序终止时将所述联合规则重新应用于由共享所述一个数据连接的应用程序指定的可共享配置参数;以及基于从所述将联合规则重新应用于所述可共享配置参数获得的所得参数值而重新配置所述一个数据连接。
15. 根据权利要求12所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤接收来自共享一个数据连接的第一应用程序的修改一个或一个以上可共享配置参数值的请求;将联合规则应用于所述一个或一个以上可共享配置参数值以及共享所述一个数据连接的每一其它应用程序的对应配置参数值以确定经修改的所得配置参数值;以及使用所述所确定的经修改的所得配置参数值来更新所述一个数据连接配置。
16. 根据权利要求11所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤接收来自共享一个数据连接的第一应用程序的修改一个或一个以上独占配置参数值的请求;确定所述经修改的一个或一个以上独占配置参数值是否与由使用所述一个数据连接的另一应用程序指定的对应独占配置参数冲突;以及如果确定任何经修改的独占配置参数值与由使用所述一个数据连接的另一应用程序指定的对应独占配置参数冲突,那么拒绝所述来自所述第一应用程序的修改一个或一个以上独占配置参数值的请求。
17. 根据权利要求12所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行步骤,因此基于所述所确定的所得值而指派给所述所选择的打开的数据连接的所述优先级表示所述所确定的所得参数值支持共享所述所选择的打开的数据连接的全部应用程序的程度。
18. —种移动装置,其包括处理器;存储器,其耦合到所述处理器;其中所述处理器以处理器可执行指令配置以执行包括以下各项的步骤将参数特定的联合规则应用于由请求数据连接的第一应用程序指定的可共享配置参数以及由使用第一打开的数据连接的第二应用程序指定的对应配置参数以获得第一所得配置参数;以及使用所述第一所得配置参数来配置所述第一打开的数据连接。
19. 根据权利要求18所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤针对所述第一打开的数据连接的每一可共享配置参数重复所述将参数特定的联合规则应用于由所述第一应用程序和所述第二应用程序指定的所述可共享配置参数的步骤,其中应用于每一可共享配置参数的所述参数特定的联合规则存储在存储器中。
20. 根据权利要求18所述的移动装置,其中所述处理器以处理器可执行指令来配置以执行进一步包括以下各项的步骤基于所述第一所得配置参数而将第一优先级指派给所述第一打开的数据连接;将所述参数特定的联合规则应用于由请求所述数据连接的所述第一应用程序指定的所述可共享配置参数以及由使用第二打开的数据连接的第三应用程序指定的对应配置参数以获得第二所得配置参数;基于所述第二所得配置参数而将第二优先级指派给所述第二打开的数据连接;基于所述第一和第二优先级而在所述第一和第二打开的数据连接中进行选择;将所述第一和第二打开的数据连接中的所述所选择的一者指派给所述第一应用程序;以及基于所述第一和第二所得配置参数中的对应一者而配置所述第一和第二打开的数据连接中的所述所选择的一者。
21. —种移动装置,其包括用于收集由请求数据连接的新应用程序指定的独占配置参数和可共享配置参数的装置;用于基于独占参数和可共享参数而从考虑中的多个打开的数据连接中选择一个打开的数据连接以用于指派给所述新应用程序的装置;以及用于将所述所选择的一个打开的数据连接指派给所述应用程序的装置。
22. 根据权利要求21所述的移动装置,其进一步包括用于从所述考虑中的多个打开的数据连接中依序选择打开的数据连接以用于指派给所述新应用程序的装置;用于将参数特定的联合规则应用于由所述新应用程序指定的每一可共享配置参数以及由使用所述所选择的打开的数据连接的另一应用程序指定的每一可共享配置参数以针对每一可共享配置参数确定所得参数值的装置;用于基于所述所确定的所得值而将优先级指派给所述所选择的打开的数据连接的装置;用于重复所述从考虑中的多个打开的数据连接中选择一打开的数据连接、将参数特定的联合规则应用于所述可共享配置参数中的每一者以确定所得参数值以及将优先级值指派给所述所选择的打开的数据连接的步骤直到考虑中的每一打开的数据连接均已被评估为止的装置;用于选择具有最高所指派优先级的所述一个打开的数据连接以用于指派给所述新应用程序的装置;以及用于使用针对具有所述最高所指派优先级的所述打开的数据连接确定的所述所得参数值来配置所述所指派的打开的数据连接的装置。
23. 根据权利要求22所述的移动装置,其进一步包括用于针对每一所选择的数据连接确定由所述新应用程序指定的任何独占配置参数是否与由使用所述所选择的数据连接的另一应用程序指定的独占配置参数冲突的装置;用于从考虑中去除由所述新应用程序请求的配置参数与由使用所述所选择的打开的数据连接的另一应用程序指定的独占参数冲突的任何所选择的打开的数据连接的装置;以及用于在由于冲突的独占需要而从考虑中去除全部打开的数据连接的情况下建立新的数据连接的装置。
24. 根据权利要求22所述的移动装置,其进一步包括用于当共享一个数据连接的应用程序终止时将所述联合规则重新应用于由共享所述一个数据连接的应用程序指定的可共享配置参数的装置;以及用于基于从所述将联合规则重新应用于所述可共享配置参数获得的所得参数值来重新配置所述一个数据连接的装置。
25. 根据权利要求22所述的移动装置,其进一步包括用于接收来自共享一个数据连接的第一应用程序的修改一个或一个以上可共享配置参数值的请求的装置;用于将联合规则应用于所述一个或一个以上可共享配置参数值以及共享所述一个数据连接的每一其它应用程序的对应配置参数值以确定经修改的所得配置参数值的装置;以及用于使用所述所确定的经修改的所得配置参数值来更新所述一个数据连接配置的装置。
26. 根据权利要求21所述的移动装置,其进一步包括用于接收来自共享一个数据连接的第一应用程序的修改一个或一个以上独占配置参 数值的请求的装置;用于确定所述经修改的一个或一个以上独占配置参数值是否与由使用所述一个数据 连接的另一应用程序指定的对应独占配置参数冲突的装置;以及用于在确定任何经修改的独占配置参数值与由使用所述一个数据连接的另一应用程 序指定的对应独占配置参数冲突的情况下拒绝所述来自所述第一应用程序的修改一个或 一个以上独占配置参数值的请求的装置。
27. 根据权利要求22所述的移动装置,其中基于所述所确定的所得值而指派给所述所 选择的打开的数据连接的所述优先级表示所述所确定的所得参数值支持共享所述所选择 的打开的数据连接的全部应用程序的程度。
28. —种用于在计算装置中管理数据连接的移动装置,其包括用于将参数特定的联合规则应用于由请求数据连接的第一应用程序指定的可共享配 置参数以及由使用第一打开的数据连接的第二应用程序指定的对应配置参数以获得第一 所得配置参数的装置;以及用于使用所述第一所得配置参数来配置所述第一打开的数据连接的装置。
29. 根据权利要求28所述的移动装置,其进一步包括用于针对所述第一打开的数据连 接的每一可共享配置参数重复所述将参数特定的联合规则应用于由所述第一应用程序和 所述第二应用程序指定的所述可共享配置参数的步骤的装置,其中应用于每一可共享配置 参数的所述参数特定的联合规则存储在存储器中。
30. 根据权利要求28所述的方法,其进一步包括用于基于所述第一所得配置参数而将第一优先级指派给所述第一打开的数据连接的 装置;用于将所述参数特定的联合规则应用于由请求所述数据连接的所述第一应用程序指 定的所述可共享配置参数以及由使用第二打开的数据连接的第三应用程序指定的对应配 置参数以获得第二所得配置参数的装置;用于基于所述第二所得配置参数而将第二优先级指派给所述第二打开的数据连接的 装置;用于基于所述第一和第二优先级而在所述第一和第二打开的数据连接中进行选择的 装置;用于将所述第一和第二打开的数据连接中的所述所选择的一者指派给所述第一应用 程序的装置;以及用于基于所述第一和第二所得配置参数中的对应一者来配置所述第一和第二打开的 数据连接中的所述所选择的一者的装置。
31. —种有形存储媒体,其上存储有将致使移动装置的处理器执行包括以下各项的步 骤的处理器可执行软件指令收集由请求数据连接的新应用程序指定的独占配置参数和可共享配置参数; 基于独占参数和可共享参数而从考虑中的多个打开的数据连接中选择一个打开的数据连接以用于指派给所述新应用程序;以及将所述所选择的一个打开的数据连接指派给所述应用程序。
32. 根据权利要求31所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令从所述考虑中的多个打开的数据连接中依序选择打开的数据连接以用于指派给所述 新应用程序;将参数特定的联合规则应用于由所述新应用程序指定的每一可共享配置参数以及由 使用所述所选择的打开的数据连接的另一应用程序指定的每一可共享配置参数以针对每 一可共享配置参数确定所得参数值;基于所述所确定的所得值而将优先级指派给所述所选择的打开的数据连接; 重复所述从考虑中的多个打开的数据连接中选择一打开的数据连接、将参数特定的 联合规则应用于所述可共享配置参数中的每一者以确定所得参数值以及将优先级值指派 给所述所选择的打开的数据连接的步骤,直到考虑中的每一打开的数据连接均已被评估为 止;选择具有最高所指派优先级的所述一个打开的数据连接以用于指派给所述新应用程 序;以及使用针对具有所述最高所指派优先级的所述打开的数据连接确定的所述所得参数值 来配置所述所指派的打开的数据连接。
33. 根据权利要求32所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令针对每一所选择的数据连接确定由所述新应用程序指定的任何独占配置参数是否与 由使用所述所选择的数据连接的另一应用程序指定的独占配置参数冲突;从考虑中去除由所述新应用程序请求的配置参数与由使用所述所选择的打开的数据 连接的另一应用程序指定的独占参数冲突的任何所选择的打开的数据连接;以及如果由于冲突的独占需要而从考虑中去除全部打开的数据连接,那么建立新的数据连接。
34. 根据权利要求32所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令当共享一个数据连接的应用程序终止时将所述联合规则重新应用于由共享所述一个 数据连接的应用程序指定的可共享配置参数;以及基于从所述将联合规则重新应用于所述可共享配置参数获得的所得参数值而重新配 置所述一个数据连接。
35. 根据权利要求32所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令接收来自共享一个数据连接的第一应用程序的修改一个或一个以上可共享配置参数 值的请求;将联合规则应用于所述一个或一个以上可共享配置参数值以及共享所述一个数据连 接的每一其它应用程序的对应配置参数值以确定经修改的所得配置参数值;以及 使用所述所确定的经修改的所得配置参数值来更新所述一个数据连接配置。
36. 根据权利要求31所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令接收来自共享一个数据连接的第一应用程序的修改一个或一个以上独占配置参数值 的请求;确定所述经修改的一个或一个以上独占配置参数值是否与由使用所述一个数据连接 的另一应用程序指定的对应独占配置参数冲突;以及如果确定任何经修改的独占配置参数值与由使用所述一个数据连接的另一应用程序 指定的对应独占配置参数冲突,那么拒绝所述来自所述第一应用程序的修改一个或一个以 上独占配置参数值的请求。
37. 根据权利要求32所述的有形存储媒体,其中基于所述所确定的所得值而指派给所 述所选择的打开的数据连接的所述优先级表示所述所确定的所得参数值支持共享所述所 选择的打开的数据连接的全部应用程序的程度。
38. —种有形存储媒体,其上存储有将致使移动装置的处理器执行包括以下各项的步 骤的处理器可执行软件指令将参数特定的联合规则应用于由请求数据连接的第一应用程序指定的可共享配置参 数以及由使用第一打开的数据连接的第二应用程序指定的对应配置参数以获得第一所得 配置参数;以及使用所述第一所得配置参数来配置所述第一打开的数据连接。
39. 根据权利要求38所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令针对所述第一打开的数据连接的每一可共享配置参数 重复所述将参数特定的联合规则应用于由所述第一应用程序和所述第二应用程序指定的 所述可共享配置参数的步骤,其中应用于每一可共享配置参数的所述参数特定的联合规则 存储在存储器中。
40. 根据权利要求38所述的有形存储媒体,其上进一步存储有用以执行进一步包括以 下各项的步骤的处理器可执行指令基于所述第一所得配置参数而将第一优先级指派给所述第一打开的数据连接; 将所述参数特定的联合规则应用于由请求所述数据连接的所述第一应用程序指定的所述可共享配置参数以及由使用第二打开的数据连接的第三应用程序指定的对应配置参数以获得第二所得配置参数;基于所述第二所得配置参数而将第二优先级指派给所述第二打开的数据连接; 基于所述第一和第二优先级而在所述第一和第二打开的数据连接中进行选择; 将所述第一和第二打开的数据连接中的所述所选择的一者指派给所述第一应用程序;以及基于所述第一和第二所得配置参数中的对应一者而配置所述第一和第二打开的数据 连接中的所述所选择的一者。
全文摘要
为了使得应用程序能够共享所建立的数据连接,将由新应用程序识别的通信配置参数与由已经共享所述数据连接的应用程序所请求的参数进行比较。如果不存在与新应用程序所需要的独占配置参数的冲突,那么将联合规则应用于使用所述数据连接的所述新应用程序和当前正执行的应用程序的每一可共享配置参数以确定相互可接受的配置。还确定通过所述联合规则确定的折衷参数支持全部应用程序的程度的量度。将最好地支持所述新应用程序和正执行的应用程序的所述可共享参数的数据连接指派给所述新应用程序。当应用程序终止时,可将所述联合规则应用于其余应用程序所请求的参数以重新配置所述数据连接。当应用程序请求对配置参数的改变时可使用类似的过程。
文档编号H04L29/08GK101772941SQ200880101956
公开日2010年7月7日 申请日期2008年7月16日 优先权日2007年7月16日
发明者乌平德·辛格·巴巴尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1