首页> 中国专利> 针对使用选择性加载优先级的网页浏览的内容感知节能

针对使用选择性加载优先级的网页浏览的内容感知节能

摘要

提供了一种移动设备、计算机可读介质和方法,用于降低网页浏览时移动设备的功耗。所述方法包括以下步骤:接收包括多个元件的标记语言文档;根据规则集为所述多个元件中的每个元件分配优先级值;以及基于分配给所述多个元件中的每个元件的所述优先级值,将与所述多个元件相对应的呈现的内容选择性地加载到由所述移动设备执行的应用程序的窗口中。所述规则集包括至少两个规则,其用于将两个或多个优先级值分配给所述多个元件中的至少两个元件子集。选择性加载可以指与所述网页浏览器的渲染引擎的默认顺序相比,按照不同顺序加载网页的元件。

著录项

  • 公开/公告号CN113868572A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN202111026066.4

  • 申请日2018-01-25

  • 分类号G06F16/958(20190101);G06F16/957(20190101);H04N21/4782(20110101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 13:29:16

说明书

相关申请案交叉申请

本申请要求于2017年2月2日提交的、发明名称为“针对使用选择性加载优先级的网页浏览的内容感知节能(Content-aware energy savings for web browsingutilizing selective loading priority)”的美国专利申请第15/423,542号的优先权以及于2018年1月25日提交的、发明名称为“针对使用选择性加载优先级的网页浏览的内容感知节能(CONTENT-AWARE ENERGY SAVINGS FOR WEB BROWSING UTILIZING SELECTIVELOADING PRIORITY)”的国际专利申请第PCT/CN2018/074191号的优先权,其全部内容以引用的方式并入本文中。

技术领域

本发明涉及能效,更具体地涉及与网页浏览相关联的节能方法。

背景技术

平板电脑和智能电话等移动设备的电池容量对于消费者对该设备的满意度极其重要。电池的单次充电需要续航6至8小时或更长时间,以便消费者在运行时使用该设备。这些设备的每个制造商已经投入大量的资源到实施技术中,以减少设备的功耗,从而延长电池的续航时间。独立的功率管理芯片可用于为设备的某些组件供电。此外,已经实施了软件解决方案以减少设备的功耗,例如通过减少低功率模式下的活动线程的数量或降低显示器的亮度。

当今使用移动设备的方式各种各样,但是在这些设备上使用的典型应用程序是网页浏览应用程序。这些应用程序从服务器请求标记语言文档,解析该标记语言文档,然后将包括在标记语言文档中的元件呈现给移动设备显示的窗口。使用无线电收发器在无线连接上下载如图像和视频文件之类的大文件会消耗功率;渲染文本、图像或视频数据以产生用于显示的像素数据;以及使用该像素数据更新该显示器。移动设备的用户可以在一天中使用网页浏览应用程序浏览因特网数小时,这可以极快地耗尽设备的电池,并且可能在用户到达设备充电的位置之前,设备就无法运转了。因此,需要解决与先前技术相关联的这个和/或其它问题。

发明内容

提供一种移动设备、计算机可读介质和方法,用于降低网页浏览时移动设备的功耗。所述方法包括以下步骤:接收包括多个元件的标记语言文档;根据规则集为所述多个元件中的每个元件分配优先级值;以及根据分配给所述多个元件中的每个元件的优先级值,将与所述多个元件相对应的呈现的内容选择性地加载到由所述移动设备执行的应用程序的窗口中。所述规则集包括至少两个规则,其用于将两个或多个优先级值分配给所述多个元件中的至少两个元件子集。选择性加载可以指与网页浏览器的渲染引擎的默认顺序相比,按照不同顺序加载网页的元件。

在第一实施例中,所述规则集包括基于特定元件的分类将所述优先级值分配给所述特定元件的至少一个规则。所述分类可以是由所述标记语言文档中的标签标识的元件类型、属性值和/或所述元件内的内容。

在第二实施例中(其可与第一实施例组合或不组合),所述规则集包括至少一个规则,其基于特定元件是否被标识为广告内容而将所述优先级值分配给所述特定元件。广告内容可以以多种方式标识,并且可以包括但不限于标记语言文档中的元件,如文本、图像和超链接,以及包括标识为商业广告的帧序列的视频内容。

在第三实施例中(其可以与第一和/或第二实施例组合或不组合),基于与所述标记语言文档相对应的统一资源定位符(uniform resource locator,URL)来选择所述规则集。所述URL可用于从提供规则服务的服务器获取规则集。

在第四实施例中(其可与第一、第二和/或第三实施例组合或不组合),将与所述多个元件相对应的呈现的内容选择性地加载到所述应用程序的窗口中包括以下步骤:基于分配给所述多个元件中的每个元件的优先级值确定元件的顺序;以及按照元件的顺序显示与所述多个元件中的每个元件相对应的呈现的内容。在按照元件的顺序显示上一个元件之后,以预定的延迟时间延迟显示所述元件的顺序中的下一个元件。

在第五实施例中(其可以与第一、第二、第三和/或第四实施例组合或不组合),在正常模式下操作所述移动设备的同时,将与第一优先级值范围内的优先级值相关联的元件加载到所述窗口中,并且在低功耗模式下操作所述移动设备的同时,将与第二优先级值范围内的优先级值相关联的元件加载到所述窗口中。

在第六实施例中(其可以与第一、第二、第三、第四和/或第五实施例组合或不组合),在所述低功率模式下操作所述移动设备包括:使用动态电压频率调整(dynamicvoltage and frequency scaling,DVFS)降低所述移动设备中的处理器的电源电压或频率、降低与所述元件相对应的呈现的内容的分辨率、降低显示设备的亮度级、抑制与所述标记语言文档内的低优先级元件相关联的一个或多个线程或屏蔽所述应用程序的所述窗口内的低优先级元件中的至少一个。

在第七实施例中(其可以与第一、第二、第三、第四、第五和/或第六实施例组合或不组合),所述多个元件中的一个或多个元件与显示在所述应用程序的窗口中的图形用户界面元件相关联,所述图形用户界面元件使用户手动地将与对应元件相关联的呈现的内容加载到所述应用程序的窗口中。

为此,在一些可选实施例中,前述装置、系统和/或方法的一个或多个前述特征可以提供更有效的方式来浏览网页,这反过来可以在降低移动设备的功耗的同时使得该功耗用于网页浏览。应注意,前述潜在优点是出于说明性目的,不应理解为任何方式的限制。

附图说明

图1示出根据实施例的移动设备;

图2示出根据实施例的移动设备的软件环境;

图3A至图3C示出根据实施例的移动设备显示的网站;

图4A示出根据实施例的分配给标记语言文档400的元件的优先级;

图4B示出根据实施例的用于基于规则集生成修改的标记语言文档的系统;

图5A至图5D示出根据实施例,为标记语言文档中的多个元件选择性地加载呈现的内容;

图6示出根据实施例的用于向多个客户端提供规则集的系统;

图7A是根据实施例的用于降低移动设备的功耗的方法的流程图;

图7B是根据实施例的用于将元件选择性地加载到应用程序的窗口中的方法的步骤的流程图;且

图8示出其中可以实施各种先前实施例的各种架构和/或功能的示例性系统。

具体实施方式

为了减少电子设备的功耗,在设计技术上花费了大量的努力。移动设备特别受益于这些努力,因为降低功耗延长了电池的续航时间,从而使得这些设备能够在需要对电池重新充电之前使用更长的时间。用于降低功耗的解决方案可以将其至少一些关注集中在降低显示设备的功耗上。与显示设备相关联的主要能耗是背光、液晶的有源矩阵以及以生成用于在设备上显示的像素数据为任务的处理器。例如,一些LED背光电视已经设计成具有位于液晶元件阵列后面的LED阵列,使得背光的亮度可以在与较深颜色相关联的屏幕区域中变暗。局部区域变暗可显著降低显示装置消耗的功率。用于降低功耗的其它解决方案可着眼于降低移动设备中的一个或多个处理器的功耗。当前的处理器设计为具有节省功率的特征,其使得至少一些处理器组件能够置于低功率模式下或完全关闭,例如通过对多核处理器的各个核进行功率门控。

可以使用其它技术来降低移动设备消耗的功率。这些技术的一些示例是用于移动设备的一个或多个处理器的动态频率频率调整(dynamic frequency and voltagescaling,DFVS),其降低呈现的像素数据的分辨率、抑制专用于各种操作的处理能力等。然而,这些技术通常对装置的操作具有不利影响。例如,为了降低处理器的工作电压,可能需要降低处理器的时钟频率。当在这些条件下执行某些操作时,用户可能注意到明显的延迟。作为另一示例,与正常操作相比,降低显示设备的亮度或显示设备上呈现的图像的分辨率可能对图像质量产生不利影响。消费者可能不接受这种通过性能降低来延长设备的电池的续航时间的方式。然而,消费者可能能够在某些时间(例如当电池几乎耗尽时)容忍性能的降低。

一种用于延长移动设备的电池的续航时间的技术可以通过选择性地加载在网页浏览器中查看的内容来实现。选择性地加载内容可以指以可配置的、优先级顺序来下载、呈现和显示标记语言文档的元件,其中以与网页浏览器的渲染引擎的默认顺序不同的顺序来加载内容,或者甚至完全被阻止进行加载。内容提供商通常把网站设计成具有特定的外观或样式。网站可以在每个标记语言文档的顶部具有导航栏,该导航栏使得用户能够在网站的不同页面上进行导航。导航栏可以包括网站的多个页面共有的图像和菜单选择。每个页面可以包括不同的内容,例如文本和/或图像部分。每个页面还可以包括嵌入的视频、广告内容、社交媒体元件等。通常,查看网站的特定页面的用户对包括在标记语言文档内的小部分元件确实感兴趣。例如,新站点可以具有包括多篇文章的标题的主页面,其可能与来自该篇文章的图像相关联。当用户点击文章的特定标题时,网页浏览应用程序获取该篇文章的标记语言文档。标记语言文档可以包括文章的文本、与该篇文章相关的图像或视频、用户可能感兴趣的其它文章的链接、诸如横幅广告或嵌入视频的广告内容、导航栏以及包括联系信息、隐私策略、版权通知等的页脚。通常,用户主要关注文章的文本,但也可能对其随附的图像很感兴趣。对于广告内容、页脚信息或导航栏或可能包括在标记语言文档中的其它不同的内容,用户可能不像对随附的图像一样感兴趣。考虑到标记语言文档是文本格式化文件,网页浏览应用程序必须先解析标记语言文档,然后分别请求该标记语言文档内的可供参考的其它内容(例如,图像文件或视频文件)。如果用户对这条信息不感兴趣,那么通过移动设备进行请求、处理和显示此类数据的消耗的能量就是浪费的能量。因此,在不同实施例中,节能技术是延迟加载不合需要的内容,除非用户明确请求或预定时间量。虽然这种操作模式可以改变网站的用户体验,但是这种技术的实施方式可以实现足够的用户控制,使得用户可以定制其期望的用户体验。

图1示出根据实施例的移动设备100;移动设备100可以是智能电话或平板电脑或其它类型的电子设备,包括作为主要电源的电池。如图1所示,移动设备100包括耦合到存储器160的片上系统(system-on-chip,SoC)110和显示设备180。SoC 110是在集成电路上实施的处理器。存储器160是易失性存储器,例如同步动态随机存取存储器(synchronousdynamic random access memory,SDRAM)。操作系统、应用程序和/或数据可在操作期间存储在存储器160中。在一个实施例中,SoC 110可以包括叠层封装(package on package,PoP)中配置的一个或多个离散存储器IC。

显示设备180可以是液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)、主动矩阵有机发光二极体面板(activematrix OLED,AMOLED)等。在一个实施例中,显示设备180例如通过包括集成到显示设备180的层中的电容式触摸传感技术来实施触摸功能。在一些实施例中,例如LCD显示器、显示设备180还可包括背光和背光控制器。该背光可以是一个或多个LED,其用于生成通过一层液晶元件发送的漫射白光。该背光控制器可以实施为IC内的逻辑电路,用于控制LED的运作。该背光可经由该背光控制器调整从而控制显示设备180的亮度。

在一个实施例中,SoC 110包括至少一个CPU 120、至少一个GPU 130、系统总线102、存储器管理单元(memory management unit,MMU)140和存储器接口104。该CPU 120是具有一个或多个核心的通用处理器。在一个实施例中,CPU 120是精简指令集计算机(reduced instruction set computer,RISC)处理器核心,例如

存储器160耦合到存储器接口104,使得可将指令和数据加载到CPU 120和/或GPU130内的片上存储器中。MMU 140管理由SoC 110的一个或多个组件生成的存储器访问请求。MMU 140还可以将与存储器访问请求相关联的虚拟地址转换成与存储器160中的位置相关联的物理地址。

移动设备100还耦合到射频收发器150、非易失性存储设备170和电源管理集成电路(power management integrated circuit,PMIC)190。射频收发器150可以包括至少一个天线和逻辑电路,用于对从移动设备100发送的或由其接收的信号进行编码或解码。例如,移动设备100可以包括用于在一个或多个蜂窝频带上发送蜂窝信号的无线电。或者,RF收发器150可用于通过Wi-Fi(例如,在2.4GHz或5GHz频带内)发送信号。非易失性存储设备170可以是硬盘驱动器(hard disk drive,HDD)、固态驱动器(solid state drive,SSD)、诸如EEPROM或CF存储(compact flash,CF)卡的闪存等。非易失性存储装置170可存储可在正常操作期间加载到存储器160中的操作系统、应用程序和/或数据。

PMIC 190用于执行移动设备100的电源管理操作。在一个实施例中,PMIC 190将来自电池195的DC电源转换成提供给SoC 110的电源电压。PMIC 190还可以用于通过调整提供给SoC 110的电源电压的电平和/或SoC 110所使用的时钟域的频率来实施动态电压频率调整(dynamic voltage and frequency scaling,DVFS)。PMIC 190还可以用于:当移动设备被插入外部电源时,管理电池195的充电。在一些实施例中,PMIC 190集成到SoC 110中,而不是作为单独的IC被包括在移动设备100内。

应了解,图1中所示的移动设备100仅是移动设备的一个示范性实施例。在不同的实施例中,移动设备100可以包括独立的和不同的CPU和/或GPU IC,而不是SoC 110。在其它实施例中,除了或代替图1所示的组件,移动设备100可以包括其它类型的组件。例如,移动设备100可以包括耦合到SoC 110的I/O端口的麦克风和/或扬声器。

图2示出根据实施例的移动设备100的软件环境200;移动设备100可用于将操作系统210加载到存储器160中。操作系统210由CPU 120执行。操作系统210管理移动设备100的各种硬件接口,并能够使用CPU 120和/或GPU 130来执行应用程序。操作系统210可以包括操作系统核心,这是定义操作系统核心的指令集。该内核可以在存储器160中建立数据结构,使得操作系统能够同时管理多个进程。内核还可以实施用于电源管理、调度和各种硬件资源的操作的功能。操作系统210还可以包括实施与移动设备100的组件相关联的各种功能的设备驱动器。例如,可以为GPU 130安装设备驱动器,使得CPU 120能够将各种操作卸载到GPU 130。还可以为显示设备180、RF收发器150、非易失性存储器170、网络接口控制器(network interface controller,NIC)、诸如键盘、鼠标、触摸板或触摸屏等输入设备安装设备驱动器。

在一个实施例中,操作系统210将虚拟地址空间划分为内核空间和用户空间。内核空间是分配给操作系统核心和相关进程的虚拟地址范围,用户空间是分配给正常进程的虚拟地址范围。换句话说,可以在内核空间中执行某些程序例如,操作系统核心和经认证的设备驱动器的同时,在用户空间中执行其它应用程序。不允许在用户空间中执行的进程访问内核空间中的存储器,这防止了这些进程崩溃系统并直接访问硬件资源。然而,运行在内核空间中的某些进程可以实施可从运行在用户空间中的进程调用的应用程序编程接口(application programming interface,API),使得某些低级功能可以由运行在用户空间中的进程以安全的方式访问。

应用程序240存储在存储器160中,并可由软件环境200内的CPU 120执行。在一个实施例中,应用程序240是网页浏览器。可以提供插件230,其在应用程序240内添加特定功能。在一个实施例中,插件230是使得能够选择性地加载与标记语言文档的元件相对应的呈现的内容以改变应用程序240的用户体验的程序。插件230可以存储在移动设备100的非易失性存储器170中,并且当用户选择运行应用程序240时,加载到存储器160中。插件230用于解析由应用程序240请求的标记语言文档,基于规则集向标记语言文档中的每个元件分配优先级值,以及基于分配给每个元件的优先级值将与元件相对应的呈现的内容选择性地加载到应用程序240的窗口中。

在又一个实施例中,插件230用于检测包括在标记语言文档中的广告内容。广告内容可以采用将用户重定向到商业网站的文本、图像、嵌入视频和超链接的形式。当广告内容被加载到应用程序240的窗口中时,插件可以用于在低功耗模式下操作移动设备100。低功耗模式可以包括:使用动态电压频率调整(dynamic voltage and frequency scaling,DVFS)降低移动设备100中的处理器的电源电压或频率、降低与广告元件相对应的呈现的内容的分辨率、降低显示设备的亮度水平、抑制与广告元件相关联的一个或多个线程,或屏蔽(即隐藏)应用程序的窗口内广告元件。低功率模式可以由插件230通过对用于PMIC 190、显示设备180的设备驱动器的API进行一次或多次调用,或者通过对操作系统进行系统调用得到实施。

在另一个实施例中,插件230用于检测何时将视频内容加载到应用程序240的窗口中。当检测到视频内容时,插件230可以确定视频内容是否与任何广告内容相关联。广告内容可以包括包含在视频内容中的一个或多个视频帧,或者在视频内容之前或直接在视频内容之后播放的一个或多个视频帧。例如,商业广告可以指嵌入在视频内容中的30秒剪辑,其包括与可能与视频内容中包括的主要主题无关的与产品或服务相关的图像。然后可以将广告内容定义为包含在视频内容中的一个或多个商业广告(例如,帧序列)。广告内容还可以包括未直接包含在视频内容内的元件。例如,广告内容可以指文本、赞助链接、图像、嵌入视频和/或在应用程序240的窗口内的视频内容旁边显示的其它元件。

如果插件230确定视频内容与广告内容相关联,则插件230可以使移动设备100在视频内容的回放期间在不同的操作模式下操作。在一个实施例中,插件230可以利用应用程序编程接口(application programming interface,API)220,其使得插件230能够在低功率模式和正常模式之间改变移动设备100的操作模式。在一个实施例中,API 220在PMIC190的驱动器的上下文内得到实施。API 220可以包括可由在用户空间中操作的插件230调用的一组功能。这些功能可以使操作系统210向PMIC 190发送使PMIC 190调整提供给SoC110的电压和/或调整SoC 110的时钟域的频率的信号。驱动器可以在内核空间中执行,使得API 220在用户空间中操作的插件230和由驱动器控制的PMIC 190之间提供一座桥梁。在另一实施例中,API 220在用于显示设备180的驱动器的上下文内得到实施。API 220可以包括用于调节显示设备180的背光的亮度的一组功能。插件230可以通过调用API 220的对应功能来控制背光的亮度。在又一实施例中,API 220在GPU 130的驱动器的上下文内得到实施。API 220可以使插件230能够指定呈现给显示设备180的图像的分辨率。例如,API 220可以包括使插件230配置帧缓冲器的分辨率的功能,该帧缓冲器被指定为从视频内容生成的像素数据的呈现目标。因此,可以按插件230所指定的特定分辨率来呈现视频内容。应了解,在一些实施例中,可在与操作系统210相关联的多个驱动器的上下文内实施不只一个API,以便启用在用户空间中执行的插件230使用的不同功能。在其它实施例中,操作系统核心本身可以通过所定义的系统调用来实施API,该API允许在用户空间中执行的插件230使用不同的功能。

在一个实施例中,API 220使插件230能够将移动设备100切换到低功率模式。低功率模式可以包括通过例如DVFS的组合、降低显示设备的亮度以及降低用于显示的呈现的图像的分辨率来节能的任何步骤。当在视频内容的回放期间显示广告内容时,插件230可以将移动设备100切换到低功率模式。

应了解,在一些实施例中,应用程序240和插件230可实施为单个应用程序。例如,插件230的功能可以在独立的网页浏览器内得到实施。在此类实施例中,插件230不是诸如网页浏览器之类的基本应用程序的独立扩展。

图3A至图3C示出根据实施例的由移动设备100显示的网站。在一个实施例中,应用程序240可以是用于读取包括多个元件的标记语言文档(例如,HTML文档、XML文档等)的网页浏览器。例如,HTML文档可以包括但不限于分部元件、表元件、指定文本的段落元件、指定图像元件的源位置的镜像文件以及指定视频文件的源位置的视频文件。

移动设备100包括执行网页浏览器应用程序240的显示设备180。网页浏览器应用程序240用于通过向服务器发送对由特定统一资源定位符(uniform resource locator,URL)指定的文档的请求来检索标记语言文档。应用程序240用于从服务器接收标记语言文档并解析该标记语言文档,使得该标记语言文档中的每个元件可以呈现给显示设备180上所示的窗口。呈现的内容可以包括但不限于报头、导航栏、文本、图像内容、视频内容和超链接。如图3A所示,呈现的内容包括图像内容310和图像内容320以及文本内容、报头和导航栏。图像内容310可以是与标记语言文档的主要主题相关的图像。相比而言,图像内容320可以是与广告内容相关的图像。例如,当与图像内容310相关联的标记语言文档中的元件指定位于与标记语言文档相同的服务器上的特定图像文件时,与图像内容320相关联的标记语言文档中的元件可以指定位于服务器上的图像,该服务器已知使用应用程序编程接口(application programming interface,API)将广告内容提供给网页。API可以提供嵌入式代码以包括在标记语言文档的元件和相关联的脚本中。当应用程序240加载标记语言文档时,脚本调用服务器以便检索图像数据的源位置从而显示在网页中。因此,每当应用程序240加载网页时,可动态地改变图像。

在一个实施例中,插件230用于区分正常图像内容310和广告图像内容320。插件230可以将优先级值分配给标记语言文档中的不同元件,以便指定元件的加载顺序。插件230可以向图像内容320分配比图像内容310更低的优先级,使得在图像内容320之前加载图像内容310。在一个实施例中,较低优先级与较高优先级值相对应,而较高优先级与较低优先级值相对应。例如,最高优先级可以与优先级值1相关联,最低优先级可以与优先级值9相关联,提供[1,9]范围内的优先级值。如将在下文更详细地论述,插件230可以利用规则集来将优先级值分配给标记语言文档中的每个元件。该规则集可以包括至少一个规则,其基于特定元件的分类将优先级值分配给特定元件。该分类可以基于元件类型(即,使用哪个HTML标签来定义该元件)或分配给该元件的属性(例如,分配给该元件的类或id属性值)。该规则集还可以包括至少一个规则,其基于特定元件是否被标识为广告内容而将优先级值分配给所述特定元件。因此,基于该组规则,可以向图像内容310分配与图像内容320不同的优先级值。

在一个实施例中,在正常模式操作下移动设备100的同时,将与第一优先级值范围中的优先级值相关联的元件加载到应用程序240的窗口中,并且在低功耗模式下操作移动设备100的同时,将与第二优先级值范围中的优先级值相关联的元件加载到应用程序240的窗口中。例如,可以将阈值设置为5,使得在正常模式下操作移动设备100的同时,将具有小于(或等于)阈值的优先级值的元件加载到窗口中,并且在低功耗模式下操作移动设备100的同时,将具有大于(或等于)阈值的优先级值的元件加载到窗口中。在图像内容320具有低优先级和优先级值为9的情况下,可以以比图像内容310更低的分辨率呈现图像内容320,该图像内容310具有更高的优先级和优先级值为3。低功率模式还可以包括对与应用程序240的窗口内的较低优先级元件(即,高优先级值)相关联的线程进行节流以及对较低优先级元件进行掩码。

如图3B所示,网页还可以包括视频内容330。视频内容可以嵌入网页内。视频内容330可用于:例如当用户点击视频内容330的范围(即,如在应用程序的窗口中呈现的元件的边界)时,自动地或在由用户提示时开始回放。或者,如图3C所示,视频内容330可以用于在全屏模式下回放。在一个实施例中,插件230可以用于在视频内容330的回放期间在低功率模式和正常模式之间切换移动设备100。每当检测到广告内容时,例如当视频内容330的回放达到被标识为广告内容的帧序列中的特定帧时,发起视频内容330的回放并将其切换到低功率模式时,移动设备100可以在正常模式下操作。在回放广告内容期间,移动设备100可以在低功率模式下操作,例如通过使用由PMIC 190实施的动态电压频率调整(dynamicvoltage and frequency scaling,DVFS)降低移动设备100中的处理器(例如SoC 110)的电源电压或频率、降低广告内容的呈现的帧的分辨率;以及降低移动设备100的显示设备180的亮度级。用于标识或检测视频内容330中的广告内容,以及在视频回放期间将移动设备100切换到低功率模式的技术在2017年2月xx日提交的、发明名称为“用于移动设备上的视频流和回放的内容感知的能量节省(Content-aware Energy Savings for VideoStreaming and Playback on Mobile Devices)”的、申请号为FUWEP054美国专利申请中有更详细的描述,其全部内容以引用的方式并入本文中。

应了解,移动设备100的操作模式可以基于分配给标记语言文档的不同元件的优先级以及生成与这些元件相对应的呈现的内容并将其加载到应用程序240的窗口中的时间和顺序而从正常模式变为低功耗模式。当不合需要的内容被处理、呈现和加载到应用程序的窗口中时,此类操作可以通过各种方式减少移动设备100的功耗。另外,通过基于分配给每个元件的优先级来控制元件的加载顺序,如果用户通过在将这些元件加载到应用程序240的窗口中的时间之前导航到另一标记语言文档来取消操作,则可以完全避免加载此类不必要的元件。

图4A示出根据实施例分配给标记语言文档400的元件的优先级。标记语言文档400是包括以分层结构排列的多个元件的文本文件。标记语言文档400可以是例如超文本标记语言(hypertext markup language,HTML)文档、可扩展标记语言文档(extensible markuplanguage document,XML),或某些其它类型的标记语言文档。在一个实施例中,该标记语言文档是符合HTML5标准的文本文档且包括多个HTML元件,例如HTML元件()、主体元件()、分部元件(

)、图像元件()等。

在一个实施例中,插件230用于拦截从服务器接收的作为从应用程序240发送到服务器的请求的一部分的所有标记语言文档。插件230接收标记语言文档400并解析该标记语言文档,以便确定在标记语言文档400中包括哪些类型的元件。例如,根据HTML5标准,标记语言文档400中的每个元件由至少一个标签标识。标签是指示包括在标记语言文档400中的元件类型的字符序列。标签标识为包含在一对尖括号中(即‘<’和‘>’)且格式为。一些元件可以包括在元件开始处的打开标签和在元件末端处的相应闭合标签。闭合标签格式为。因此,标记语言文档400中的每个‘<’符号指示标记语言文档400中开始元件的打开标签或关闭标签。

应了解,元件嵌套在标记语言文档400内。例如,HTML5标准定义了文档对象模型(document object model,DOM),其指定了HTML文档中元件的层级。根元件,HTML元件()包含HTML文档的所有元件。在HTML元件内部,诸如标题元件()、主体元件()、页脚元件()、分部元件(

)、段落元件(

)等其它元件将嵌套在根HTML元件内。

插件230用于解析标记语言文档并根据规则集将优先级值分配给标记语言文档中的每个元件。在一个实施例中,该组规则使标记语言文档中元件的每种类型或分类与特定优先级值相关。例如,文本/脚本元件401可以分配为优先级值1。这些元件可以包括但不限于段落元件

、标题元件(例如

等)、引用和引用元件(例如
等)等。通常,可以向所有文本/脚本元件401分配默认优先级值1。将该顶层优先级分配给将在较低优先级的其它元件之前加载到应用程序的窗口中的元件。因此,只有较低优先级的元件将服从延迟那些元件呈现的选择性加载方案。

如图4A所示,规则集可以向特定元件集合分配较低优先级。例如,可以向图像元件402分配优先级值2、可以向视频元件403分配优先级值3,并且可以向广告元件404分配优先级值4。优先级元件1至3与潜在用户兴趣元件相关联,优先级元件4与不必要的兴趣元件相关联。应了解,优先级的数目和不同元件的优先级值的顺序可以在规则集内定义。因此,每当插件230解析图像元件时,插件230可以向该元件分配优先级值2。

在一个实施例中,给嵌套元件分配了分配给其父元件的最小优先级值。例如,报头元件通常用于表示报头元件内的元件是标记语言文档400中的报头的一部分。报头可以包括图像、文本、超链接(例如,)、块元件(例如,

),表元件(例如,、、
)等等。这些元件中的一些可以与向这些元件分配优先级值1的规则相关联。然而,如果元件的父元件与向父元件分配高于1的优先级值的规则相关联,则包含在父元件内的元件被分配等于分配给父元件的优先级值的最小优先级值。因此,如果报头元件与向报头元件分配优先级值2的规则相关联,则可以向报头内的所有元件分配至少2的优先级值。考虑到标记语言文档的分层性质,该方案确保了向嵌套元件的块分配等于或大于其父元件的最小优先级值。

在另一个实施例中,相同类型的元件可分配有不同的优先级值。换句话说,虽然元件与特定标签相关联,但是不同的属性可分配有不同的优先级。全球属性,例如类或id,可用于区分具有不同优先级的元件。例如,分部元件可与被分配优先级值1的分部元件相关联。但是,特定类的分部元件可被分配不同的优先级值。作为更具体的示例,特定的标记语言文档可以包括类“菜单”(即,

在一些实施例中,规则可以包括比基于元件类型或属性简单地分配优先级值更复杂的规则。在一个实施例中,规则可以基于元件的分层结构将优先级值分配给某些元件。例如,优先级值1可以分配给嵌套在分部元件(

)中的任何图像元件,但是优先级值2可以分配给嵌套在表格元件中的任何图像元件()。在另一个实施例中,规则可以基于元件的内容分配优先级值。例如,可以基于图像的大小为图像元件分配不同的优先级值。较小的图像(例如,小于100像素×100像素的图像)可以被分配优先级值1,而较大的图像(例如,大于或等于100像素×100像素的图像)可以被分配优先级值2。在这种情况下,将从服务器获取较小的图像、呈现并在较大的图像之前加载。在另一种情况下,规则可以检查作为元件的属性而包括的任何URL。例如,广告元件可以定义为脚本元件,其具有设置为指定已知广告javascript代码的特定值的源属性(src)。或者,广告元件可定义为脚本元件,其包括脚本元件的打开标签和关闭标签之间的源javascript代码的特定段。例如,插件230可以解析脚本元件的任何对应的一对打开标签和关闭标签之间的文本,以寻找以下代码:“adsbyadcompany=window.adsbyadcompany”,这将指示脚本元件表示广告内容。应了解,某些广告内容可被标识为其它类型的元件,例如嵌套在链接到已知广告重定向URL的超链接元件中的图像元件。

图4B示出根据实施例的用于基于规则集生成修改的标记语言文档的系统。如图4B所示,系统包括惰性加载引擎410,其可以实施为插件230的模块。惰性加载引擎410是接收作为输入的标记语言文档400并基于规则集生成作为输出的修改后的标记语言文档430的软件模块。惰性加载引擎410使得标记语言文档400的元件能够以特定顺序被检索和呈现。元件顺序的选择可以导致移动设备100的更有效的功耗,从而增加移动设备100的电池的续航时间。

在一个实施例中,插件230解析标记语言文档400,并基于规则集420将优先级值分配给标记语言文档400中的每个元件。然后,惰性加载引擎410用于基于分配给标记语言文档400中的多个元件的优先级值来生成修改后的标记语言文档430。为了实施元件的选择性加载,惰性加载引擎410可以生成修改后的标记语言文档430,其是标记语言文档400的复本,具有优先级值大于或等于从修改后的的标记语言文档430中省略的特定阈值的任何元件。修改后的标记语言文档430被发送到应用程序240,并且修改后的标记语言文档430由应用程序240处理以生成在应用程序240的窗口中显示的呈现的内容(即,用于显示的图像数据)。然后,惰性加载引擎410可以增大阈值并生成新修改的标记语言文档430,其是标记语言文档400的复本,具有大于或等于已从新修改的标记语言文档430中省略的增大的阈值的优先级值的任何元件。然后,新修改的标记语言文档430在预定的延迟时间之后被发送到应用程序240,并且新修改的标记语言文档430由应用程序240处理以生成在应用程序240的窗口中显示的呈现的内容。换句话说,在预定的延迟时间之后更新窗口中显示的修改后的标记语言文档430。因为阈值大于分配给标记语言文档400中的每个元件的优先级值,所以多次重复该过程,每次增加阈值,直到新修改的标记语言文档430与标记语言文档400相同。

应了解,仅将新修改的标记语言文档430重复地发送到应用程序240可能使得多次重新呈现整个文档,这可能浪费能量并分散用户注意力。因此,在一个实施例中,插件230用于使用文档对象模型(document object model,DOM)仅更新在应用程序240的窗口中显示的元件,以改变容器元件的内容,以便添加新可见的元件(即,与等于阈值的优先级值相关联的任何元件)。因此,新呈现的的内容可以仅显示在应用程序240的窗口中,而不是多次呈现修改后的标记语言文档430的整个内容。

在另一个实施例中,惰性加载引擎410通过将新元件插入标记语言文档来修改标记语言文档400以生成新修改的标记语言文档430。例如,修改后的标记语言文档430可以包括添加到标记语言文档400的新的分部元件以及对应的javascript代码。在一个实施例中,与不同于该元件的父元件的优先级相关联的每个元件可以被包括在容器分部元件中,该容器分部元件包括被设置为指示子元件的优先级的特定类名的类属性。然后,修改后的标记语言文档430可以包括附加的javascript代码,其将高于最高优先级的每个元件设置为隐藏。javascript代码还可以包括javascript定时事件,其触发新的函数以增加阈值,然后示出具有与等于新阈值的优先级相匹配的类名的任何元件。定时事件可以被重置多次以触发新的元件,该些新的元件将以阈值的每个增量被示出。定时事件可以自先前定时事件起经过预定的延迟时间之后被触发。在该技术中,惰性加载引擎410仅生成一个修改后的标记语言文档430,并且通过应用程序240对javascript代码的本地解释来简单地控制呈现的内容的选择性加载的操作。

图5A至图5D示出根据实施例,为标记语言文档400中的多个元件选择性地加载呈现的内容。标记语言文档400包括在窗口500的各个位置中呈现的多个元件。窗口500可以包括呈现给显示设备180的可视范围的至少一部分的像素数据,并且窗口500可以与由移动设备100的处理器120执行的应用程序240的至少一个实例相对应。

如图5A所示,窗口500的第一部分502可以包括标记语言文档400的多个元件。例如,标记语言文档400可以包括第一分部元件,其包含与导航栏、文本元件、图像、超链接等相对应的多个元件。可以在窗口500的第一部分502中呈现第一分部元件和包含在第一分部元件内的所有子元件。类似地,可以在窗口500的第二部分504中呈现第二分部元件和包含在第二分部元件内的所有子元件;可以在窗口500的第三部分506中呈现第三分部元件以及包含在第三分部元件内的所有子元件;并且可以在窗口500的第四部分508中呈现第四分部元件以及包含在第四分部元件内的所有子元件。应了解,第三分部元件和第四分部元件可以嵌套在横跨窗口500的宽度的第五分部元件中。

窗口500的第一部分502包含与网站的主题相关的元件,并且用户可能是感兴趣的,但是对于用户而言,可能不是高优先级的元件。相反,请求标记语言文档400的用户可能主要对包括在窗口500的第三部分506中的文章感兴趣。当标记语言文档400被加载到窗口500中时,用户可以立即向下滚动以读取包含在窗口500的第三部分506中的文章。因此,在窗口500的第二部分504和窗口500的第四部分508中加载内容,明显是广告内容/不必要的内容的内容可以延迟用户消费用户期望的内容。因此,这有益于在加载窗口500的其它部分的内容之前加载窗口500的第三部分506的内容。

如图5B所示,当修改后的标记语言文档430最初被加载到窗口500中时,已经隐藏了窗口500的第一部分502、第二部分504和第四部分508中的元件,但显示了窗口500的第三部分506中的元件。同样,插件230用于修改标记语言文档400以生成修改后的标记语言文档430,从而将针对特定元件的呈现的内容选择性地加载到窗口500中。应用程序240不再呈现与隐藏元件相关联的内容,从而减少了移动设备100的处理器120和/或GPU 130上的处理负载。此外,在隐藏元件与附加源数据相关联的情况下,例如与多媒体元件(例如,图像元件、视频元件

在一个实施例中,手动地进行选择性地加载与该多个元件相对应的呈现的内容。更具体地,修改后的标记语言文档430被加载到窗口500中,如图5B所示。然而,修改后的标记语言文档430包括用于控制窗口500的不同部分的可见性的附加元件。例如,修改后的标记语言文档430可以包括在与窗口500的每个部分相对应的父分部元件上重叠(例如,使用子元件的位置属性)的子分部元件。每个子分部元件包含图形用户界面(graphical userinterface,GUI)元件510(即,加号或减号),该GUI单元510用于控制窗口500的该部分中的对应父分部元件和父分部元件的任何子元件的可见性。父分部元件和父分部元件中的任何子元件可以称为GUI元件510的对应元件。修改后的标记语言文档430还可以包括对GUI元件510内任何地方的点击事件(即“点击”)做出反应的javascript代码。javascript代码可以切换与GUI元件510相关联的窗口500的部分的可见性。

如图5C所示,点击GUI元件510可以改变包含在窗口500的第一部分502中的父元件和所有子元件的可见性。如上所述,响应于经由新的重叠GUI元件510提供的用户输入,执行与分配了高于阈值的优先级值的每个元件相对应的呈现的内容的选择性加载。在另一个实施例中,与分配了高于阈值的优先级值的每个元件相对应的呈现的内容的选择性加载可以组合手动和自动技术,基于递增地增加用于确定特定元件的可视性的阈值的预定的定时事件和经由GUI元件510接收的用户输入来自动加载呈现的内容。因此,即使使用相对较长的预定的延迟时间,用户也将能够通过使用GUI元件510来立即加载特定元件来超越加载优先级。

如图5B和5C所示,无论元件是隐藏的还是可见的,元件的布局都不改变。换句话说,包括隐藏元件的容器可以具有与容器的大小相同的大小,如果元件是可见的,则将呈现该大小。当新元件变得可见时,窗口500中元件的相对位置将不会改变。然而,当用户观看时,在窗口500内保留如此多的空间可能看起来很奇怪,并且用户更易于对丢失的内容做出负面反应。因此,在另一个实施例中,插件230可以基于分配给那些元件的优先级值来修改被隐藏的特定元件的布局。如图5D所示,窗口500的第二部分504和第四部分508相对于窗口500的第一部分502和第三部分508小得多。这可以通过改变与窗口500的每个部分相关联的父分部元件的大小来实现。在一个实施例中,隐藏窗口500的特定部分内的所有元件可导致窗口500的该部分完全消失。相反,即使在窗口500的该部分的所有其它子元件都被隐藏时,用于窗口500的该部分的父分部元件和GUI元件510也保持可见。然后可以将容器分部元件的大小调节到某个最小宽度或最小高度,使得GUI元件510位于窗口500的一部分中,当窗口500的该部分中的子元件可见时,该部分小于窗口500的该部分。当点击GUI元件510时或当触发定时事件以改变窗口500的该部分中的元件的可视性时,可以使用javascript代码来切换父分部元件的大小。

图6示出根据实施例的用于向多个客户端提供规则集的系统600。如图6所示,J客户端节点602通过网络610耦合到服务器节点604。在一个实施例中,网络610是因特网,并且节点经由TCP/IP协议通信。每个客户端节点602可以是移动设备100,其包括插件230和应用程序240。

在一个实施例中,可以定义控制由插件230处理的每个标记语言文档的可见性的规则集。单个规则集可以由每个用户配置,以便使插件230的操作适应其在用户体验中的特定品味。然而,对于因特网上可用的此类大量不同的标记语言文档,单个规则集必定会导致完全不同的结果。因此,在另一个实施例中,集中式服务器节点604维护数据库620,其存储不同标记语言文档的不同规则集。当用户在应用程序240中输入用于特定标记语言文档的URL时,插件230可以从服务器604请求与该URL相对应的规则集。服务器604可以向数据库620查询与该URL相对应的规则集,并将该组规则发送到插件230,使得对该特定标记语言文档的选择性加载遵循特定的规则集。应了解,在一些实施例中,服务器604是在位于不同数据中心中的多个服务器604冗余地实施的分布式系统,以确保由服务器604提供的规则服务的高可用性和高可靠性。在这种实施例中,数据库620也可以实施为具有每组规则的冗余复本的分布式数据库。

在许多网站中,可以使用基本相同的布局实施不同的标记语言文档,但是在标记语言文档的一些元件中替换不同的内容。例如,新闻网站可以为网站上的每篇文章生成标记语言文档,该文档使用具有用于该文章的不同文本内容和与每个标记语言文档中包括的特定文章相对应的不同图像和视频内容的基本相同的布局。这些标记语言文档中的每个URL可以从URL的相同根部分开始,并且以不同子路径和/或文件名称结束。在其它网站中,使用服务器侧代码动态地生成标记语言文档。可以基于使用从耦合到服务器侧代码的一个或多个数据库检索的内容的URL生成这些文档。此类动态生成的标记语言文档可以与用于生成标记语言文档的URL的根部分相对应的单个规则集相关联。换句话说,可以使用规则集来将优先级值分配给共享公共布局或设计的类似标记语言文档,其中基于URL的根部分来标识相似性。

URL的根部分指没有路径的域名或与标记语言文档的路径的第一部分结合的域名。例如,具有域名“www.genericwebsite.com”的网站可以包括定义包括在该网站中的不同网页的多个标记语言文档。该域名产生网站的主索引页(即,标记语言文档)。然而,网站本身可以包括不同的讨论论坛。每个讨论论坛与位于www.genericwebsite.com域上的特定路径上的主页面相关联。例如,新闻讨论论坛位于“www.genericwebsite.com/news”处,其与“/news[/index.html]”的路径相对应(括号用于表示不在文件名中结束的路径的标记语言文档的默认文件名)。每个讨论论坛的主页面包含用户生成的讨论线程的列表,每个讨论线程可以包括到位于因特网上的一些其它资源的超链接以及到与该讨论线程相关的注释链的超链接。注释链与形式为“www.genericwebsite.com/news/comments/...”的URL相关联,其中椭圆表示基于特定讨论线程的特定子路径。与新闻讨论论坛相关联的每个注释链的标记语言文档具有类似的布局。因此,可以存储与具有URL的根部分匹配“www.genericwebsite.com/news/comments/”的任何标记语言文档相对应的规则集,使得用于新闻讨论论坛中的注释链的任何标记语言文档将根据一组统一的规则来处理。然而,可以为其它讨论论坛(例如/电影,或/比赛)定义其它规则集。因此,受欢迎的网站可以具有为单个域的不同路径定义的定制规则,以定制分配给跨越单个网站的不同标记语言文档的不同元件的优先级。

应了解,许多网站被设计成与上述网站类似,其中路径被提供作为用于基于后端数据库生成动态网页的服务器侧代码的输入。通常,路径的结构将确定标记语言文档的结构布局,使得类似的URL产生由公共服务器侧代码生成的类似的标记语言文档。可以通过定制规则集以按照不同于应用程序240解析标记语言文档时确定的默认顺序的定制顺序来加载网页来利用该一致性。

通过改变在应用程序240的窗口500中加载和显示元件的顺序,插件230可以降低移动设备100的功耗。例如,用户可以通过点击网页浏览器中的超链接来加载特定的标记语言文档400。插件230可以通过预定的延迟时间延迟加载标记语言文档400中的某些元件。如果用户查看某些高优先级元件并决定标记语言文档不具有用户想要查看的信息,则用户可以在某些元件被加载到窗口500中之前导航到另一标记语言文档。在一些情况下,当用户导航到另一标记语言文档时,将不从服务器检索数据。降低网络带宽,通过不使用无线电发送和接收数据来节省功率、图像或视频的数据不存储在存储器中、处理器不具有解码如JPEG格式图像文件或MPEG格式视频文件的加密图像数据的任务、显示器在屏幕的大部分中没有用明亮的图像刷新等等。仅通过以定制顺序选择性地加载内容,并通过预定的时间延迟加载特定内容或通过用户输入来实现明显的功率节省,以防止与不必要的内容的处理相关联的不必要的功率消耗。

图7A是根据实施例的用于降低移动设备100的功耗的方法700的流程图。在步骤702,接收包括多个元件的标记语言文档400。在一个实施例中,应用程序240的插件230拦截从服务器发送到应用程序240的标记语言文档400。

在步骤704,基于规则集为多个元件中的每个元件分配优先级值。该规则集包括至少两个规则,其用于将两个或多个优先级值分配给多个元件中的至少两个元件子集。在一个实施例中,插件230解析标记语言文档400并基于该组规则生成修改后的标记语言文档430。给标记语言文档中的每个元件分配优先级值,且可以将各种元件或javascript代码添加到修改后的标记语言文档430中。

在步骤706,根据分配给多个元件中的每个元件的优先级值,将与多个元件相对应的呈现的内容选择性地加载到由移动设备100执行的应用程序240的窗口500中。在一个实施例中,将修改后的标记语言文档430发送到应用程序240,并且根据应用程序240的渲染引擎的实施方式来加载该修改后的标记语言文档430。与标记语言文档400中的相对应文件将由应用程序240加载的顺序和时间相比,修改后的标记语言文档430的元件中的修改可以改变应用程序240加载特定元件的顺序和时间。在另一个实施例中,插件230在不同时间向应用程序240发送多个标记语言文档,以便以特定顺序加载标记语言文档400的不同元件。

图7B是根据实施例的用于将元件选择性地加载到应用程序240的窗口中的方法700的步骤706的流程图;和在步骤752,基于分配给多个元素中的每个元素的优先级值确定修改后的标记语言文档中的元素的顺序。在一个实施例中,元件的顺序由应用程序240使用修改后的标记语言文档430中的元件层级以及每个元件的可视性来确定。定时事件和/或用户输入可以触发阈值的增加,并且javascript代码可以基于该元件的优先级值与阈值的比较来切换多个元件中的每个元件的可见性。如果元件的优先级值小于或等于阈值,则该元件是可见的。然而,如果元件的优先级值大于阈值,则隐藏该元件。

在步骤754,按照元件的顺序显示与多个元件中的每个元件相对应的呈现的内容。在一个实施例中,阈值被设置为最低优先级值(例如,1)。生成修改后的标记语言文档中的所有高优先级元件(即,具有等于1的优先级值的元件)的呈现的内容,并将其显示在应用程序240的窗口500中。阈值可以增加(例如,通过定时事件的期满),这改变了具有小于或等于新阈值的优先级值的元件的可视性。然后由应用程序240生成这些元件的呈现的内容,并将其显示在应用程序240的窗口500中。通过在每次增加阈值时,递增阈值并为新可见的元件显示呈现的内容,与多个元件中的每个元件相对应的呈现的内容以由优先级值的增加顺序所定义的元件顺序来显示。

图8示出其中可以实施各种先前实施例的各种架构和/或功能的示例性系统800。如图所示,提供了包括连接到通信总线802的至少一个处理器801的系统800。通信总线802可以使用任何合适的协议来实施,例如外围部件互连标准(peripheral componentinterconnect,PCI)、PCI-插槽、加速图形端口(accelerated graphics port,AGP)、超传输总线或任何其它总线或点对点通信协议。系统800还包括存储器804。控制逻辑(软件)和数据存储在存储器804中,该存储器804可以采用随机存取存储器(random access memory,RAM)的形式。

系统800还包括输入/输出(I/O)接口812和通信接口806。可以从输入设备812(例如,键盘、鼠标、触摸板、麦克风等)接收用户输入。在一个实施例中,通信接口806可耦合到包括多个着色器模块、光栅化模块等的图形处理器(未显示)。前述模块中的每个甚至可位于单个半导体平台上以形成图形处理单元(graphics processing unit,GPU)。

在本说明书中,单个半导体平台可以指单一的基于半导体的集成电路或芯片。应注意,术语单半导体平台也可以指具有增加的连通性的多芯片模块,其模拟芯片上操作,并且相对于使用传统的中央处理单元(central processing unit,CPU)和总线实施方式进行实质性的改进。当然,根据用户的需要,也可以单独地或以半导体平台的各种组合来定位各种模块。

系统800还可以包括辅助存储器810。该辅助存储器810包括例如硬盘驱动器和/或可移动存储驱动器,其表示软盘驱动器、磁带驱动器、光盘驱动器、数字多功能盘(digitalversatile disk,DVD)驱动器、记录设备、通用串行总线(universal serial bus,USB)闪存。可移动的存储驱动器以熟知方式从可移动的存储单元读取及/或写入到可移动的存储单元。

计算机程序或计算机控制逻辑算法可存储在存储器804和/或辅助存储器810中。当执行此类计算机程序时,其使得系统800能够执行各种功能。内存804、存储器810和/或任何其它存储器是计算机可读介质的可能示例。

在一个实施例中,可以在处理器801、耦合到通信接口806的图形处理器、能够实现处理器801和图形处理器两者的能力的至少一部分的集成电路(未示出)、芯片组(即,设计为工作并作为用于执行相关功能的单元销售的一组集成电路等)和/或用于此的任何其它集成电路的情况下实施各种前述图的架构和/或功能。

然而,可以在通用计算机系、电路板系统、专用于娱乐目的的游戏控制台系统、应用专用系统和/或任何其它所需系统的情况下实施各种前述图的架构和/或功能。例如,系统800可以采用台式计算机、笔记本电脑、服务器、工作站、游戏控制台、嵌入式系统和/或任何其它类型的逻辑电路的形式。然而,系统800可以采用各种其它设备的形式,包括但不限于个人数字助理(personal digital assistant,PDA)设备、移动电话设备、电视等。

此外,尽管未示出,但是系统800可以出于通信目的而耦合到网络(例如,电信网络、局域网(local area network,LAN)、无线网络、诸如因特网的广域网(wide areanetwork,WAN)、对等网络、电缆网络等)。

在示例实施例中,系统800包括:文档接收模块,其接收包括多个元件的标记语言文档;优先级分配模块,其基于规则集为该多个元件中的每个元件分配优先级值,其中该组规则包括至少两个规则,其用于将两个或多个优先级值分配给该多个元件中的至少两个元件子集;以及呈现的内容加载模块,其根据分配给该多个元件中的每个元件的优先级值,将与该多个元件相对应的呈现的内容选择性地加载到由移动设备执行的应用程序的窗口中。在一些实施例中,系统800可以包括用于执行实施例中描述的步骤中的任一个或组合的其它或附加模块。此外,根据任一附图所示或根据任一权利要求所述的方法的任一附加或替代实施例或方面也涵盖包括类似模块。

应注意,在一个方面中,本文中描述的技术实施于计算机可读介质中存储的供指令执行机器、装置或设备使用或结合指令执行机器、装置或设备使用的可执行指令中,该指令执行机器、装置或设备例如是基于计算机或含有处理器的机器、装置或设备。所属领域的技术人员应了解,对于一些实施例,包括其它类型的计算机可读介质,其可以存储计算机可访问的数据,计算机例如是盒式磁带、快闪存储器卡、数字视频磁盘、Bernoulli盒带、随机存取存储器(random access memory,RAM)以及只读存储器(read-only memory,ROM)等。

如此处使用的,“计算机可读介质”包括用于存储计算机程序的可执行指令的任何合适的介质中的一种或多种,使得指令执行机器、系统、装置或设备可以从该计算机可读介质读取(或提取)指令并且执行指令以实施所描述的方法。合适的存储格式包括电子、磁性、光学和电磁格式中的一个或多个。常规例示性计算机可读介质的非详尽性列表包括:便携式计算机磁盘;RAM;ROM;可擦除可编程只读存储器((erasable programmable read onlymemory,EPROM)或快闪存储器);光学存储设备,其包括便携式压缩光盘(compact disc,CD)、便携式数字视频光盘(digital video disc,DVD)、高清DVD(HD-DVD

应理解,所描述的图中示出的组件的布置是示例性的,并且可能有其它布置。还应理解,由权利要求书界定的、下文描述的并且在各种框图中所说明的各种系统组件(和构件)表示根据本文中所揭示的主题配置的一些系统中的逻辑组件。

例如,这些系统组件(和构件)中的一个或多个可以整体或部分地通过所描述的图中示出的布置中示出的组件中的至少一些实现。另外,尽管这些组件中的至少一个至少部分地实施为电子硬件组件并因此构成机器,但是其它组件可以实施于软件中,当包括于执行环境中时构成机器、硬件或软件和硬件的组合。

更具体地,由权利要求书界定的至少一个组件至少部分实施为电子硬件组件,例如指令执行机器(例如基于处理器的或含有处理器的机器),和/或实施为特定电路或电路系统(例如,分立逻辑门,互连以执行特定功能)。其它组件可以实施于软件、硬件或软件和硬件的组合中。此外,可以组合这些其它组件中的一些或全部组件,可以完全省略一些组件并且可以添加其它组件,同时仍实现本文中所描述的功能。因此,本文中描述的主题可以许多不同变化形式体现,且所有此类变化形式涵盖在权利要求书的范围内。

在以上描述中,除非另外指明,否则参考动作和由一个或多个设备执行的操作的符号表示来描述主题。因而,应理解,有时被称为计算机执行动作和操作的此类动作和操作包括构造形式的数据处理器的操作。此操作会转换数据或将其维持在计算机的存储器系统中的位置处,这会以所属领域的技术人员充分理解的方式来重新配置或以其它方式改变设备的操作。数据在存储器的物理位置处维持为具有由数据格式界定的特定性质的数据结构。然而,虽然在前文背景下描述了主题,但这并不表示对所述主题的限制,所属领域的技术人员将了解,下文中描述的各种动作和操作也可以实施于硬件中。

计算机可读非瞬时介质包括所有类型的计算机可读介质,包括磁存储介质、光存储介质和固态存储介质,并且并且具体地说,不包括信号。应当理解,软件可以安装在移动设备中并与移动设备一起出售。或者,可获得该软件并将其加载到移动设备中,包括经由磁盘介质或从任何方式的网络或分配系统获得该软件;包括,例如从软件创建者拥有的服务器或从不归软件创建者拥有但其使用的服务器中获得该软件。例如,软件可以存储在服务器上,用于在因特网上分发。

为了促进对本文中描述的主题的理解,根据动作顺序描述许多方面。由权利要求限定的这些方面中的至少一个方面由电子硬件组件执行。例如,将认识到,可通过专用电路或电路系统,通过正由一个或多个处理器执行的程序指令或通过这两者的组合执行各个动作。本文中对任何动作顺序的描述并不意图暗示必须遵循用于执行此顺序而描述的特定次序。除非本文另外指出或另外明显与内容相矛盾,否则本文所述的所有方法可以任何合适顺序执行。

除非本文中另外指出或明显与内容相矛盾,否则在描述要素的情况下(尤其在以上权利要求书的情况下)使用术语“一(a/an)”和“所述”以及类似指示物应理解为涵盖单数和复数。除非在本文中另外指示,否则对本文中值范围的叙述仅意图充当个别提及属于所述范围的每个单独值的速记方法,且每个单独值并入本说明书中,如同在本文中个别地叙述一般。此外,上述描述仅出于说明的目的,而不是出于限制的目的,因为寻求保护的范畴由附属权利要求及其任何等效物来限定。除非另外要求,否则本文中所提供的对任何和所有示例或示例性语言(例如,“例如”)的使用仅仅是意图更好地说明主题,而并非对主题的范围造成限制。使用术语“基于”和其它类似短语指示在附属权利要求和书面描述中产生结果的条件,并不旨在排除产生该结果的其它条件。本说明书中的任何语言都不应理解为指示实践所主张的本发明所必需的任何非主张的要素。

本文中描述的实施例包括发明人实施所要求的主题已知的一个或多个模式。应了解,在阅读上述描述之后,那些实施例的变型对于本领域的技术人员将变得显而易见。本发明人期望本领域的技术人员适时采用此类变化,并且本发明人意图以不同于本文中特定描述的其它方式来实践本发明所主张的标的物。因此,所主张的标的物包括可适用法律所准许的在附属权利要求中叙述的标的物的所有变化和等效物。此外,除非本文另外指示或以其它方式明显与上下文相矛盾,否则本发明涵盖上文所描述的元件以其所有可能的变化形式的任何组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号