根据网络条件调整应用通信的制作方法

文档序号:15885871发布日期:2018-11-09 18:52阅读:154来源:国知局
根据网络条件调整应用通信的制作方法

当计算机用户将app或应用加载到计算设备上时,期望响应性:app/应用将在执行其各种功能时快速响应。但是,当app或应用无法响应时,不一定是app的错误,而是连接问题的产物,特别是对于那些依赖与外部(到计算设备)服务、资源、计算机等的通信的app或应用。

此外,连接问题不一定仅是由于与网络的不良或差的连接引起的。实际上,即使建立到网络的高质量高带宽连接,也可能出现连接问题,因为特定服务或资源被拥塞或者本身正在经历连接问题。



技术实现要素:

提供以下“发明内容”是为了以简化的形式介绍将在以下“具体实施方式”中进一步描述的概念的选择。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

提出了用于根据网络连接质量来调整应用的网络连接的系统、方法和计算机可读介质。监测组件和/或进程从计算设备接收关于网络请求的信息,根据应用过滤请求,并且对于每个已过滤的网络请求,从网络请求生成网络请求元组,并且将信息存储在通信队列中。调整组件和/或进程接收应用的网络请求,根据通信队列中的信息评估应用的网络连接质量,并且将应用的网络请求活动调整为与网络连接质量相称。

根据所公开的主题的各个方面,提出了一种用于关于网络连接质量来调整应用的网络连接的方法。该方法包括维护计算设备上的经调整的应用的最新网络请求数据的通信队列。另外,根据通信队列中维护的经调整的应用的网络请求数据,确定针对经调整的应用的当前网络连接质量。此外,向经调整的应用发出与针对经调整的应用的所确定的当前网络连接质量相对应的调整指令。调整指令对应于到经调整的应用的将网络请求活动从第一功能级别改变为第二功能级别的指示。

根据所公开的主题的其他方面,一种承载计算机可执行指令的计算机可读介质。这些指令在由计算设备的处理器执行时执行用于关于网络连接质量来调整经调整的应用的网络连接的方法。该方法包括维护计算设备上的经调整的应用的最新网络请求数据的通信队列。通信队列中的最新网络请求数据包括网络请求元组,其中每个网络请求元组对应于经调整的应用的最新网络请求。另外,根据通信队列确定针对经调整的应用的当前网络连接质量,并且向经调整的应用发出调整指令,该调整指令与经调整的应用的所确定的当前网络连接质量相对应。更具体地,调整指令对应于到调整应用的用于将网络请求活动从第一功能级别改变为第二功能级别的指示。

根据所公开的主题的其他方面,提出了一种计算设备,其被配置为关于网络连接质量来调整调整应用的网络连接。计算设备包括处理器和存储器,其中处理器执行存储在存储器中的指令。在执行时,处理器使得计算设备维护经调整的应用的最新网络请求数据的通信队列。此外,根据通信队列中的经调整的应用的最新网络请求数据,确定针对经调整的应用的当前网络连接质量。基于所确定的当前网络连接质量,向经调整的应用发出调整指令。调整指令对应于到调整应用的将其网络请求活动从第一功能级别改变为第二功能级别的指示。

附图说明

由于通过在结合以下附图时参考以下描述可以更好地理解所公开的主题的前述方面和很多伴随的优点,因此它们变得更容易理解。其中:

图1是示出适合于实现所公开的主题的各方面的示例性网络环境的示意图;

图2是示出根据所公开的主题的各方面的被配置为调整app的网络通信活动的组件的示例性互操作的框图;

图3是示出根据所公开的主题的各方面的用于监测当前网络状况的示例性例程的流程图;

图4是示出根据所公开的主题的各方面的用于根据当前网络状况来调整网络通信的示例性例程的流程图;

图5是示出用于在检测到网络信道中的改变时重置通信队列的示例性例程的流程图,计算设备通过该网络信道与外部服务、资源和设备进行通信;

图6是示出由被配置为根据网络质量来调整网络通信请求的应用实现的示例性例程600的流程图;

图7是示出根据所公开的主题的各方面的被编码有用于根据当前网络状况来调整应用的网络通信的指令的示例性计算机可读介质的框图;

图8是示出根据所公开的主题的各方面的适当地被配置为根据网络状况来调整应用的网络通信的示例性计算设备的框图;以及

图9是示出根据所公开的主题的各方面的适当地被配置为根据网络状况来调整应用的网络通信的替代示例性计算设备的框图。

具体实施方式

为了清楚起见,本文档中术语“示例性”的使用应当被解释为用作某事物的说明或示例,并且不应当被解释为该事物的理想和/或主要说明。在风格上,当单词或术语后面跟有“(s)”时,含义应当被解释为表示词语或术语的单数或复数形式,这取决于是存在术语/项目的一个实例还是存在术语/项目的一个或多个实例。例如,术语“用户”应当被解释为一个或多个用户。

为了本文档的目的,术语“应用”应当被解释为包括被设计为为了计算机或计算设备的用户的利益而执行一组协调的功能、任务或活动的计算机可执行代码的计算机程序。术语“app”还应当被解释为包括被设计为为了计算机或计算设备的用户的利益而执行一组协调的功能、任务或活动的计算机可执行代码的计算机程序。一般而言,app和应用之间的区别在于设计的复杂性和/或大小,其中app通常在大小上小于应用并且专注于单个功能或一小组相关功能。相比之下,应用通常更强大,涵盖更广泛的功能,这也表示更大的大小。由于它们的性质,app通常用于处理能力更有限的计算设备上,而应用通常用于具有更多处理能力的计算设备上。不管app和应用之间的差异(或缺乏)如何,所公开的主题的各方面可以适当地在app或应用内实现,或者适当地在具有大量处理和资源容量的计算设备上实现或者在具有有限处理能力的计算设备上实现。因此,除非明确区分为仅被应用于app或仅被应用于应用,否则出于本公开的目的,术语app和应用应当被视为通常可互换。

为了改善app(或应用)的明显响应性,使用调整模块来确定app的当前网络连接质量并且相应地调整app的连接请求。根据所公开的主题的各方面,适当配置的app(或应用)提供与应用可以采取以将其通信活动水平调整(增加或减少)为与当前网络连接质量相称的一个或多个动作相对应的功能。

特别地,针对app维护通信队列。通信队列包括关于通过网络的app的最新通信的通信信息。作为说明而非限制,通信信息包括完成网络请求的时间(从发起请求到接收到最终通信分组)、关于网络请求而发送和/或接收的数据量、和/或网络请求是否导致失败(即,未能完成)。此外,根据另外的实施例,通信队列是循环队列,其中仅维持来自app的n个最新网络请求(其中n对应于某个预定数目,诸如,作为说明而非限制,如30个网络请求中的30)。

为了促进和维护通信队列中的app的最新通信信息,网络请求监测器接收计算设备的网络请求,并且根据与特定app相对应的请求来过滤请求。存储模块按时间顺序获取每个已过滤网络请求(即,在针对app的过滤之后保留的那些请求),从将要被存储在通信队列中的网络请求中提取通信信息,并且将针对网络请求的提取的通信信息输入到通信队列中,以循环方式循环通过通信队列,使得仅在队列内维持n个最新网络请求的通信信息。

另外并且根据所公开的主题的各个方面,通信队列中的条目对应于单个通信信道。因此,当计算设备切换通信信道(例如,从3g通信信道(例如,经由cdma的4g)切换到wifi通信信道(例如,802.11x))时,清空通信队列并且当检测到来自app的网络请求时输入新的通信信息。以这种方式,通信监测模块可以根据当前通信信道条件而不是基于可能不再适用的先前条件来调整网络活动。

如上所述,调整模块被用于确定app的当前网络连接质量并且相应地调整app的连接请求。网络连接质量根据内部启发方法、阈值和存储在通信队列中的通信信息来确定。作为说明而非限制,启发方法可以包括分解多个故障,包括往返于通信的数据的平均吞吐量、为完成通信必须进行的重试次数(通常以分组表示)等。如上面进一步指出的,基于网络连接质量的确定,调整模块可以发起各种动作以与app或应用一起发生,使得由app/应用生成的网络请求的量根据网络连接质量来调整。

虽然这种通信质量的确定可以是二进制的,即,对于完全特征与减少特征的操作而言足够的质量,但在很多情况下,该确定可以产生不仅仅是两个值的质量级别。作为说明而非限制,通信质量的确定可以返回三个质量级别中的一个(对应于完全功能、中等功能、减少功能的操作),或者根据百分比值(即,最高质量值到最低质量值之间的值,例如100到0之间,其中零(0)指示通信质量的最差/最低质量值)。当然,虽然调整模块可以能够根据各种通信质量值调整app的通信活动,同等重要的是app的用于提供不同级别操作的能力。根据一个实施例,app实现或提供用于根据所确定的通信质量来调整通信活动的功能,例如,二进制功能(高/低)、三次功能(高/中/低)、百分比值等。作为说明而非限制,调整网络请求活动可以通过减少的网络请求调用、请求压缩的、更小的和/或质量降低的图像或数据、暂停预取请求、聚合少量提交的网络请求等来实现。此外,可以根据当前检测到的网络连接质量来禁用支持但非强制性的网络请求。

在实现根据网络连接质量来调整网络请求的动作时,适当配置的app可以实现调整模块关于网络连接质量进行调用的回调功能。备选地,作为app的一部分,调整模块可以被配置为进行各种改变以适应网络连接质量,或者通过由app/应用实现的预定的应用编程接口(api)。

根据所公开的主题的各方面,调整模块可以实现为app外部的计算机服务。在这种配置中,app通常将向干预模块注册并且提供回调功能或api(如上所述),调整模块可以通过该api调整app的网络活动。实际上,调整模块可以实现为操作系统的一部分,即,作为操作系统服务,或者作为由app外部的第三方实现的服务或守护进程。根据所公开的主题的各方面,当被实现为独立于app而操作的模块时,调整模块为利用调整模块的服务的每个app/应用维护通信队列。

现在转向图1,图1是示出适合于实现所公开的主题的各方面的示例性网络环境100的示意图。网络环境100包括使用计算设备102通过网络108进行通信的计算机用户101。根据所公开的主题的各方面,可以经由有线或无线连接进行与网络的通信。根据所公开的主题的附加的方面,在计算设备上执行的app可以(通过网络请求)与连接到网络的一个或多个其他服务和/或资源(诸如网络计算机110和112)通信。仍然,为了调整计算设备102的网络活动以对应于当前网络连接质量,计算设备包括或访问调整模块和网络请求监测器的功能,如下面将更详细描述的。如已经建议的,调整模块和网络请求监测器可以实现为app的一部分,作为计算设备上的系统服务(包括操作系统服务或第三方服务),或者上述的组合。

转到图2,图2是示出根据所公开的主题的各方面的被配置为根据网络状况来调整app的网络通信活动的组件的示例性互操作的框图。调整模块202网络请求如存储在通信队列中的数据,诸如通信队列216,其中通信队列包括网络请求元组,诸如网络请求元组215,网络请求元组反映来自诸如应用218等的对应应用的网络请求的通信质量。如图2所示,网络请求调整器206接收通信队列以确定对应应用的当前网络通信信道的当前网络连接质量。

网络请求元组被用于通过调整模块202的网络评估器204组件/功能来确定当前网络质量203。根据网络质量信息203,网络请求调整器206通过一个或多个调整指令205与应用218通信,以根据确定的当前网络连接质量203来调整应用的网络连接。

基于发出给应用218的调整指令205,在应用需要通过网络发出网络请求时,应用经由操作系统的i/o子系统发出调整网络请求205,反过来,调整网络请求205通过网络108与诸如网络请求207等其他网络请求一起被传送。简而言之,由于从调整模块202接收的指令,应用根据当前网络连接质量203来调整其网络活动。

根据所公开的主题的一个实施例,网络请求监测器210监测计算机系统的元件,诸如操作系统的i/o子系统,并且接收网络请求信息,包括计算设备的所有网络请求207。当然,这些网络请求包括任何调整网络请求,诸如来自应用218的调整网络请求205。或者,网络请求监测器210可以被配置为仅检测/接收与app相对应的那些网络请求(在这种情况下,如下所述,过滤可能是需要或不需要的)。除了网络请求之外,网络请求监测器还接收与计算设备到网络108的通信信道的变化相对应的网络变化数据213。作为示例而非限制,当设备从通过移动数据信道(诸如移动设备的4g数据)进行通信切换到通过wifi或有线网络进行通信时,可能发生网络变化。因为不同的网络信道可以提供不同的网络质量,所以网络变化是有序的。

网络请求监测器210包括根据对应的app或应用(诸如应用218)过滤网络请求207的应用过滤器214。在网络请求监测器是app或应用的一部分的情况下,应用过滤器214产生仅与该app/应用相对应的一组已过滤网络请求209。备选地,应用过滤器将根据app/应用过滤网络请求207,以为订阅网络请求监测服务的每个app产生已过滤网络请求209。存储模块212接收已过滤网络请求209并且按时间顺序处理它们。处理包括从每个网络请求中提取通信信息并且生成包括用于评估网络连接质量的信息的网络请求元组211。每个网络请求元组对应于单个网络请求,并且被存储在与发出网络请求的app/应用相对应的通信队列中,可能覆盖已经存储在通信队列216中的旧的网络请求元组。

可以看出,整体信息流是以下各项的连续循环:根据通信队列评估网络连接质量,根据网络连接质量调整应用的网络请求活动,捕获app的网络请求,以及使用最新信息(网络请求元组)更新通信队列使得当前网络通信质量是可确定的。

转到图3,图3是示出根据所公开的主题的各方面的用于监测当前网络状况的示例性例程300的流程图。出于说明目的,关于处理单个app/应用的数据来描述例程300。然而,应当理解,例程300中表示的功能通常适用于在其中网络请求监测器为多个app和/或应用提供服务的那些情况。从框302开始,为诸如应用218等对应应用维护通信队列,诸如通信队列216。

在框304处,接收网络请求数据,诸如图2的网络请求207。在框306处,如果必要,按时间顺序排序网络请求数据的网络请求。根据各种实施例,按时间顺序排序网络请求,以便确保网络通信质量评估准确地反映当前状况。在框308处,开始迭代以迭代每个网络请求。作为该迭代的一部分,在框310处,根据app/应用来过滤网络请求,使得如果网络请求是app的网络通信的一部分,则不会丢弃该app的网络请求。在框312处,选择下一网络请求,并且例程300返回到框308。备选地,如果没有更多网络请求要处理,则例程300进行到框314。

在框314处,关于已过滤网络请求209开始第二次迭代。作为迭代的一部分,在框316处,处理当前迭代的已过滤网络请求以生成网络请求元组211。在框318处,将生成的网络请求元组存储在通信队列中,或者在开放空间中或者覆盖队列中最旧的网络请求元组。此后,在框320处,选择下一已过滤网络请求,并且例程300返回到框312。备选地,如果没有更多已过滤网络请求要处理,则例程300返回到框304以获取新的网络请求并且继续上述监测过程。

图4是示出如上所述的用于根据当前网络通信质量来调整网络通信的示例性例程400的流程图。从框402开始,为对应应用的通信队列216维持与app/应用(诸如应用218)的对应的新近网络请求相对应的网络请求数据(通常以网络请求元组的形式)。在框404处,从通信队列获取与应用相对应的网络请求元组。在框406处,关于应用的当前网络状况确定当前网络质量203。根据所公开的主题的各方面,该确定根据在通信队列216中的获取的网络请求元组来进行。该确定可以根据通信故障的数目中的启发方法的因子分解、通信的数据的平均吞吐量、完成通信必须进行的重试次数(通常以分组表示)等来进行。在框408处,发出调整指令(经由与对应应用218的通信)以根据所确定的网络连接质量调整对应应用218的网络请求活动/功能。可以理解,假定应用的当前网络活动功能有变化,调整指令向应用提供用于将网络活动功能从第一级别修改为第二级别的指令。当然,对功能的修改可以是网络活动功能的增加或减少。此后,例程400终止。

图5是示出用于在检测到网络信道中的网络改变时重置通信队列的示例性例程500的流程图,计算设备通过网络信道与外部服务、网络上的资源和设备进行通信。从框502开始,接收网络变化通知213。在框504处,重置通信队列216。重置通信队列包括删除队列的通信元组(或重置值,使得通信队列不注册为具有任何通信元组。)此后,例程500终止。

图6是示出由被配置为根据网络质量调整网络通信请求的应用实现的示例性例程600的流程图。从框602开始,应用(诸如应用128)接收一个或多个网络调整指令,诸如调整指令205,网络调整指令指示由应用/计算设备的当前网络质量确定的当前功能级别。在框604处,应用根据由所接收的调整指令确定的当前网络质量来设置内部功能。在框606处,应用然后根据关于网络请求的新设置的功能进行操作。此后,例程600终止。

关于上述例程300-600、以及本文中描述的其他过程(诸如关于图2描述的过程),虽然这些例程/过程是关于离散步骤表达的,但这些步骤应当被视为本质上是逻辑的,并且可以对应或不对应于给定实现的任何特定的实际和/或离散步骤。此外,除非另有说明,否则在各种例程和过程中呈现这些步骤的顺序不应当被解释为可以执行这些步骤的唯一顺序。而且,在一些实例中,可以省略这些步骤中的一些。本领域技术人员将认识到,步骤的逻辑呈现对于执行所要求保护的主题的各方面是充分有益的,而与编码逻辑指令/步骤的任何特定开发语言无关。

当然,虽然这些例程包括所公开的主题的各种新颖特征,但是在执行这些例程中阐述的主题时也可以执行其他步骤(未列出)。本领域技术人员将理解,这些例程的逻辑步骤可以组合在一起或者由多个步骤组成。上述例程的步骤可以并行或串行执行。通常但非排他地,各种例程的功能以在诸如下面关于图6所描述的计算设备等的计算设备的一个或多个处理器上执行的软件(例如,应用、系统服务、库等)来实施。另外,在各种实施例中,各种例程中的全部或一些也可以在计算机系统上的可执行硬件模块中实施,可执行硬件模块包括但不限于片上系统(soc)、编解码器、专门设计的处理器和/或逻辑电路等。

如上所述,这些例程/进程通常在可执行代码模块中实施,可执行代码模块包括例程、函数、循环结构、诸如if-then和if-then-else语句等选择器、赋值、算术计算等。然而,如上所述,每个例程的可执行语句中的确切实现基于各种实现配置和决策,包括编程语言、编译器、目标处理器、操作环境以及链接或绑定操作。本领域技术人员将容易理解,在这些例程中标识的逻辑步骤可以以任何数目的方式实现,因此,上面阐述的逻辑描述足以实现类似的结果。

虽然所公开的主题的很多新颖方面在应用(也称为计算机程序)、app(小的,通常是单一或狭窄用途的应用)和/或方法中实施的例程中表达,但是这些方面也可以被实施为由计算机可读介质存储的、也称为计算机可读存储介质的计算机可执行指令,其是制品。如本领域技术人员将认识到的,计算机可读介质可以托管、存储和/或再现计算机可执行指令和数据以供稍后检索和/或执行。当托管或存储在计算机可读存储设备上的计算机可执行指令由计算设备的处理器执行时,其执行引起、配置和/或调整执行计算设备以执行各种步骤、方法和/或功能,包括上面关于各种所示例程描述的那些步骤、方法和例程。计算机可读介质的示例包括但不限于:光学存储介质,诸如蓝光盘、数字视频盘(dvd)、光盘(cd)、光盘盒等;磁存储介质,包括硬盘驱动器、软盘、磁带等;存储器存储设备,诸如随机存取存储器(ram)、只读存储器(rom)、存储卡、拇指驱动器等;云存储(即,在线存储服务);等等。虽然计算机可读介质可以再现和/或导致将计算机可执行指令和数据经由包括载波和/或传播信号在内的各种传输装置和介质传送到计算设备用于由一个或多个处理器来执行,但是出于本公开的目的,计算机可读介质明确地排除载波和/或传播信号。

转到图7,图7是示出根据所公开的主题的各方面的编码有用于配置/操作网络通信质量的指令的示例性计算机可读介质的框图。更具体地,实现700包括其上编码有计算机可读数据606的计算机可读介质708(例如,cd-r、dvd-r或硬盘驱动器的盘片)。该计算机可读数据706又包括被配置为根据本文中阐述的一个或多个原理进行操作的一组计算机指令704。在一个这样的实施例702中,处理器可执行指令704可以被配置为执行方法,诸如分别例如图3至图6的示例性方法300至600中的至少一些。在另一这样的实施例中,处理器可执行指令704可以被配置为实现系统,诸如如下所述的图8和9的示例性计算系统800或900中的至少一些。配置为根据本文中给出的技术进行操作的本领域普通技术人员可以设计被很多这样的计算机可读介质。

现在转到图8,图8是示出根据所公开的主题的各方面的被适当地配置为根据当前网络连接质量来调整app或应用的网络通信的示例性计算设备800的框图。示例性计算设备800包括一个或多个处理器(或处理单元)(诸如处理器802)和存储器804。处理器802和存储器804以及其他组件通过系统总线810互连。存储器804通常(但不总是)包括易失性存储器806和非易失性存储器808两者。易失性存储器806保留或存储信息,只要向存储器供电。相反,非易失性存储器808即使在电源不可用时也能够存储(或保持)信息。一般而言,ram和cpu高速缓冲存储器是易失性存储器806的示例,而rom、固态存储器设备、存储器存储设备和/或存储卡是非易失性存储器808的示例。

处理器802执行从存储器804(和/或从计算机可读介质,诸如图7的计算机可读介质700)取回的指令,以执行被配置为如上所述的分集搜索结果的搜索引擎的各种功能。处理器802可以包括诸如单处理器、多处理器、单核单元和多核单元等多个可用处理器中的任何一个。

此外,所示计算设备800包括网络通信组件812,网络通信组件812用于通过计算机网络108将该计算设备与其他设备和/或服务互连,包括其他计算设备,诸如图1的网络计算设备110和112。网络通信组件812(有时称为网络接口卡或nic)经由物理/有形(例如,有线、光学等)连接、无线连接或两者使用一个或多个通信协议通过网络(诸如网络108)进行通信。如本领域技术人员将容易理解的,网络通信组件(诸如网络通信组件812)通常包括通过传输介质(即,网络)发射和接收数字和/或模拟信号的硬件和/或固件组件(并且还可以包含或包括可执行软件组件)。

计算设备800还包括操作系统814,操作系统814包括i/o子系统208。可以理解,i/o子系统208包括启用或促进计算设备800的用户与计算设备800的处理系统之间以及计算设备与外部服务、资源和/或计算机之间的通过网络108的相互通信的一组硬件、软件和/或固件组件。

计算设备800还包括通信调整器820。通信调整器包括用于调整网络请求以与当前网络通信质量相称的所有功能。实际上,通信调整器820包括调整模块202,调整模块202包括如上面关于图2所述的网络评估器204和网络请求调整器206作为子组件。通信调整器820中还包括网络请求监测器210。如上所述,网络请求监测器210包括存储模块212和应用过滤器214,如上面关于图2所述。

计算设备800还包括至少一个可执行应用(或app),其适当地配置为向通信调整器820提供根据网络连接质量来调整网络请求活动的功能。此外,数据存储库824存储用于一个或多个app和/或应用(包括应用822)的通信队列。

现在转到图9,图9是示出根据所公开的主题的各方面的适当地配置为根据当前网络连接质量来调整app或应用的网络通信的替代示例性计算设备900的框图。与计算设备800类似,示例性计算设备900包括一个或多个处理器(或处理单元)(诸如处理器902)和存储器904。处理器902和存储器904以及其他组件通过系统总线910互连。存储器904通常(但不总是)包括易失性存储器906和非易失性存储器908两者。

处理器902执行从存储器904(和/或从计算机可读介质,诸如图7的计算机可读介质700)取回的指令,以执行被配置为如上所述的分集搜索结果的搜索引擎的各种功能。处理器902可以包括诸如单处理器、多处理器、单核单元和多核单元等多个可用处理器中的任何一个。

此外,所示计算设备900包括网络通信组件912,网络通信组件912用于通过计算机网络108将该计算设备与其他设备和/或服务互连,包括其他计算设备,诸如图1的网络计算设备110和112。

计算设备900还包括操作系统914,操作系统914包括i/o子系统208。可以理解,i/o子系统208包括启用或促进计算设备900的用户与计算设备800的处理系统之间以及计算设备与外部服务、资源和/或计算机之间的通过网络108的相互通信的一组硬件、软件和/或固件组件。

除了i/o子系统208之外并且根据所公开的主题的替代方面,操作系统914还包括通信调整器920。如上所述,通信调整器820包括/提供用于调整网络请求以与当前网络通信质量相称的所有功能,如上所述,但是在该替代实施例中,通信调整器被托管为操作系统914的一部分。此外,由于app和/或应用可以有利地受益于通信调整920(或820),因此通过基于网络质量的通信活动的调整,也可以使操作系统受益。此外,虽然未示出,但是通信调整服务还可以实现为示例性计算设备外部的第三方服务。

与图8的通信调整器820一样,通信调整器920包括调整模块202,调整模块202包括如上关于图2所述的网络评估器204和网络请求调整器206作为子组件。通信调整器920中还包括网络请求监测器210。如上面关于图2所述,网络请求监测器210包括存储模块212和应用过滤器214。

还示出为包括在示例性备选计算设备900中的是至少一个可执行应用922(或app),其被适当地配置为向通信调整器820提供用于根据网络连接质量来调整网络请求活动的功能。此外,数据存储库924存储用于一个或多个app和/或应用(包括应用922)的通信队列。

关于示例性用户计算设备800和900的各种组件,本领域技术人员将理解,这些组件可以实现为存储在计算设备的存储器中的可执行软件模块,实现为硬件模块和/或组件(包括片上系统soc),或两者的组合。实际上,如上所述,诸如通信监测器820或920等组件可以根据各种可执行实施例来实现,包括执行本文档中描述的进程的一个或多个逻辑元素的可执行软件模块,或者实现为包含用于执行本文档中描述的进程的一个或多个逻辑元素的可执行逻辑的硬件和/或固件组件。作为说明而非限制,这些可执行硬件组件的示例包括rom(只读存储器)设备、可编程逻辑阵列(pla)设备、prom(可编程只读存储器)设备、eprom(可擦除prom)设备、等,每个可以编码有在执行时执行本文中描述的功能的指令和/或逻辑。

此外,在某些实施例中,用户计算设备800和900的各种组件中的每个可以被实现为独立的协作进程或设备,与一个或多个计算机系统和/或计算设备相结合或在一个或多个计算机系统和/或计算设备上操作。当然,应当进一步理解,上述各种组件应当被视为用于执行各种所述功能的逻辑组件。如本领域技术人员将容易理解的,逻辑组件和/或子系统可以或可以不以一对一的方式直接对应于实际的分立组件。在实际实施例中,每个计算设备的各种组件可以组合在一起或分布在多个实际组件上和/或实现为诸如图1的网络108的计算机网络上的协作进程。

虽然已经描述了所公开的主题的各种新颖方面,但是应当理解,这些方面是示例性的,而不应当被解释为限制。在不脱离所公开的主题的范围的情况下,可以对各个方面进行变化和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1