CN105339932A - 浏览器驱动的功率节省 - Google Patents

浏览器驱动的功率节省 Download PDF

Info

Publication number
CN105339932A
CN105339932A CN201480032730.8A CN201480032730A CN105339932A CN 105339932 A CN105339932 A CN 105339932A CN 201480032730 A CN201480032730 A CN 201480032730A CN 105339932 A CN105339932 A CN 105339932A
Authority
CN
China
Prior art keywords
webpage
plug
unit
image
computer implemented
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
CN201480032730.8A
Other languages
English (en)
Other versions
CN105339932B (zh
Inventor
K·W·德克尔
D·杰克逊
G·巴拉克罗格
J·李
C·菲德里格希
M·斯塔乔维亚克
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN105339932A publication Critical patent/CN105339932A/zh
Application granted granted Critical
Publication of CN105339932B publication Critical patent/CN105339932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文所公开的实施例描述了浏览器应用程序或其他进程可减少计算设备的功率使用的方法。方法包括进程通过利用从插件拍摄的快照替换网页上的一个或多个插件来暂停所述一个或多个插件,以及减少对非媒体插件和在浏览器中运行但当前并非焦点的网页的不可见部分的处理,诸如在标签处于不同标签后的后台中时,在浏览器窗口被最小化时,或者在网页被完全遮挡或被部分遮挡时。

Description

浏览器驱动的功率节省
背景技术
本实施例整体涉及修改对网页上的内容的处理以获得功率节省并延长电池寿命的进程(例如,浏览器应用程序)。更具体地,本实施例涉及暂停网页上的插件并且减少与非焦点网页相关联的网页处理。
许多网页包括一个或多个插件以呈现内容。插件通常向管理功率的进程(例如,web浏览器)提供附加功能,例如用于访问某些情况在网页上呈现的附加内容。插件任选地与网页的主要资源相关,诸如视频网站的音乐视频或新闻网站的视频新闻报道,或另选地与非中心元素诸如广告和其他内容相关。此外,网页的主要内容甚至已变得需要更密集的处理。
发明内容
然而,网页上出现更多插件需要更大的处理器利用率,继而需要更多的功率消耗诸如电池电力。在网页上的插件与网页的主要资源相关的情况下,该功率使用是必要的并且可能与用户在网页寻找的内容相关。对于并非是主要资源的一部分诸如广告的插件,功率使用常常以用户并未寻找的内容为代价,甚至在某些情况下以分散用户注意力的内容为代价。此外,即使在用户不再主动读取网页内容时诸如在用户已将浏览器窗口最小化时、利用另一应用程序来遮挡网页时或将网页移至浏览器的后台标签时,对网页出现所进行的大部分处理也将继续。这是因为在一些浏览器中插件在这些规则下继续执行,所以导致持续的电池电力消耗。由于许多用户使用电池供电的移动设备来访问网页内容,所以由插件执行引起的电池电力的降低导致需要更频繁再充电,从而引起过度能量消耗。
一些浏览器不提供用于识别网页相对于其对用户的有用性而造成过多电力和电池使用的各个方面的装置,也不提供用于减少此类功率使用的装置以作为一种延长相关联的计算设备的电池寿命的方法。
一种进程(例如,浏览器应用程序)被配置为选择性地基于浏览器应用程序控件的进程状态来执行减少计算设备的功率使用的各种方法。该方法包括利用作为从视频拍摄的快照的静态图像来替换与显示视频相关联的处理密集型插件活动。根据一个实施例,进程(例如,浏览器)解析所接收的网页以识别网页上的一个或多个媒体插件,并且将一组规则应用于媒体插件以确定是否将功率节省过程应用于这些插件中的一个或多个插件。如果应用功率节省过程,则从插件捕获快照图像,并且选择图像中的一个合适的图像来替换网页上的插件。呈现静态图像不像将执行插件以显示视频那样需要连续使用处理器,从而降低了将以其他方式起因于插件运行的处理功率。用户随后可通过点击或以其他方式激活插件来对其进行重载。
此外,功率节省方法包括暂停或减少在任何网页上执行的非媒体插件,以及对在浏览器中运行但当前并非焦点的网页的不可见部分的其他处理,诸如在标签处于不同标签后的后台中时、在浏览器窗口被最小化时、或者在网页被另一窗口完全遮挡或部分遮挡时。根据另一个实施例,进程确定网页在浏览器内打开,以及打开网页的内容是否可见(相对于被遮挡、最小化、在后台标签中或以其他方式不可见),并且暂停或减少与具有不可见内容的网页相关联的更新。进程与用于网页内容的定时器一起工作以降低处理功率从而节省电池/功率,并且还与已由用于浏览器进程的操作系统实施的任何功率使用减少相协调。
说明书中述的特征和优势并非全面的,并且具体地,鉴于附图、说明书和权利要求,许多附加特征和优势对本领域的普通技术人员来说将是显而易见的。此外,应当指出的是,本说明书所使用的语言主要针对便于读取和教学目的进行选择,而非为了限定本发明的主题进行选择。
附图说明
图1为根据一个实施例的用于经由浏览器或进程来调用功率节省过程的计算环境的高级框图。
图2为示出了根据一个实施例的用于充当计算设备和/或云服务器的典型计算机的高级框图。
图3为示出了根据一个实施例的用于在浏览器或进程内节省功率的方法的流程图。
图4显示了根据一个实施例的用于显示CNN网页的浏览器的示例性图形用户界面(GUI)。
图5A和5B显示了根据一个实施例的GUI的实例,在该GUI中插件已被静态图像替换。
图6为示出了根据一个实施例的用于选择用于替换插件的图像的方法的流程图。
图7显示了根据一个实施例的示例性GUI,在该示例性GUI中插件已被不满足用作替换图像的标准的静态图像替换。
图8为示出了根据一个实施例的用于识别并选择性地减少后台进程的过程的流程图。
图9为根据一个实施例的在后台标签中显示网页的示例性GUI的屏幕截图。
图10为根据一个实施例的示出网页几乎被Word文档完全遮挡的示例性GUI。
图11为根据一个实施例的示出网页被最小化的示例性GUI。
仅出于说明性目的,附图示出并且具体实施方式描述了各种非限制性实施例。本领域的技术人员根据以下论述将很容易认识到,在不脱离本文所述的原理的情况下采用某些情况下的本文所示出的结构和方法的另选实施例。
具体实施方式
本文描述了一种用于减少浏览器应用程序或进程的功率使用的方法和装置。在以下描述中示出了许多具体细节,以提供对本发明的实施例的彻底解释。然而,对于本领域的技术人员显而易见的是,在某些情况下本发明的实施例在不具有这些具体细节的情况下被实施。在其他情况下,未详细示出熟知的组件、结构和技术,以免模糊对本说明的理解。
在本说明书中提到的“一个实施例”(“oneembodiment”或“anembodiment”)是指结合实施例所述的特定特征、结构或特性可被包括在本发明的至少一个实施例中。在本说明书中的不同位置中出现的短语“在一个实施例中”不一定是指同一个实施例。引用单数形式的实体应被理解为涵盖复数,以适合上下文。
下图中示出的过程通过处理逻辑部件来执行,该处理逻辑部件包括硬件(例如,电路、专用逻辑部件等)、软件(例如在通用计算机系统或专用机上运行的软件)、或它们两者的组合。虽然下文按照某些顺序操作来描述该过程,但应当理解,所任选描述的操作中的一些操作可以不同的顺序执行。此外,在某些情况下,某些操作可并行执行而并非顺序执行。
根据一个实施例,进程(例如,浏览器)解析所接收的网页以识别网页上的一个或多个媒体插件,并且将一组规则应用于媒体插件以确定是否将功率节省过程应用于这些插件中的一个或多个插件。如果应用功率节省过程,则从插件捕获快照图像,并且选择图像中的一个合适的图像来替换网页上的插件,从而节省了与允许媒体插件运行相关联的处理功率。用户随后可通过点击或以其他方式激活媒体插件来对其进行重载。本文所述进程涉及媒体插件,诸如包括视频、音频或具有视频或其他可视化部件的某种组合的那些媒体插件。尽管所描述的一些方面应用于具体可视化部件(例如,捕获快照),但本文所述的其他方面更一般地适用于不具有可视化部件的插件类型(例如,减少更新、暂停等)。
根据另一个实施例,浏览器或进程确定网页在浏览器内打开,以及打开网页的内容是否可见(相对于被遮挡、最小化、在后台标签中或以其他方式不可见),并且暂停或降低与具有不可见内容的网页相关联的更新速率。如本文所用,术语“被遮挡”是指至少部分地由另一UI对象阻挡、遮蔽、或以其他方式掩盖。浏览器或进程与用于网页内容的定时器一起工作以降低处理功率从而节省电池/功率,并且还与由操作系统对进程的节流相协调。该进程还可被应用作为用于不包括可视化内容的插件的功率节省步骤。
系统环境
图1为根据一个实施例的用于通过浏览器或在浏览器应用程序中管理功率的其他进程来控制功率节省的计算环境100的高级框图。尽管本文的实例描述了web浏览器执行该方法,但任何其他进程也可结合来自浏览器的信息来执行该方法。系统100包括一个或多个计算设备105、一个或多个服务器110、一个或多个内容提供器115和网络120。
在一个实施例中,内容提供器115向计算设备105提供文章诸如网页。如本文所用,术语“文章”在一般意义上使用以指代文档、网页和其他内容。网站是内容提供器115的一个实例。尽管在图1中示出单个内容提供器115,但在一些情况下,多个内容提供器与计算设备105进行通信。
计算设备105为电子设备,诸如台式计算机(例如,iMacTM)、膝上型电脑(例如,MacBookTM)、平板电脑(例如,iPadTM)、移动电话(例如,iPhoneTM)、媒体设备(例如,iPodTM)等,每个电子设备均来自AppleInc。通常,计算设备105被配置为使得用户能够查看由内容提供器115或服务器110所提供的文章。服务器110为任何计算设备或云服务器诸如iCloudTM,并且在一些情况下,服务器为结合图2所述的通用计算机或服务器级计算机。在各种实施例中,网络120包括同时使用有线通信系统和无线通信系统的局域网和/或广域网的任何组合。
计算设备105包括web浏览器应用程序125,诸如来自AppleInc.的或来自MicrosoftCorporation的Internetweb浏览器应用程序125具有多个模块:内容检索模块130、DOM处理模块135、渲染模块140、插件识别模块145、内容提取模块150、基于模式的UI配置模块155、图像选择模块160、内容呈现模块165、可见性模块170和节流模块175。
如本领域中所已知的,术语“模块”是指用于向计算设备105提供指定功能的计算机程序逻辑部件。管理功率(例如,web浏览器125)和/或计算设备105的进程的其他实施例可具有与此处所述模块不同的模块和/或其他模块,并且可在这些模块之间以不同方式分配功能。
内容检索模块130被配置为经由网络130从远程服务器110或其他内容提供器115或者从本地文件系统检索文章(即,文档、网页和其他内容),并且其为一种用于执行该功能的装置。所接收的文档可为基于超文本的,诸如HTML(超文本标记语言)、XML(可扩展标记语言)或其他标记语言,以及CSS(层叠样式表)、JavaScript和任何其他网页呈现或控制机制。
在一个实施例中,DOM处理模块135可处理(即,解析)文档以识别文档元素并由文档元素生成文档对象模型(DOM)树,并且其为一种用于执行该功能的装置。在一些情况下,文档元素为超文本元素,诸如HTML文档中的HTML标签。在一些情况下,DOM树表示文档元素之间的拓扑关系或结构关系。文档的DOM树中的节点对应于文档的一个文档元素。文档元素任选地包括文档内容和/或用于呈现文档内容的布局规范,诸如与HTML文档中的HTML标签相关联的尺寸属性。在一些情况下,渲染模块140生成渲染信息,诸如DOM树中的用于呈现对应文档的节点的布局参数(例如,矩形区域的尺寸数据)。渲染模块140可根据包括文档中的布局规格的配置、用于管理功率的进程(例如,web浏览器125)的用户界面设置和/或其他系统设置等作出渲染决策。网页经由渲染模块140任选地由经渲染的DOM树来表示。在一个实施例中,渲染模块140为WebKit布局引擎,其使得进程(例如,web浏览器)渲染网页。
在一个实施例中,插件识别模块145可确定文档是否包括一个或多个插件,并且其为一种用于执行该功能的装置。通常,浏览器应用程序125可根据直接来自DOM处理模块135和渲染模块140的原始渲染的DOM树来呈现所接收的文档。如果文档包括插件,则插件基于已知的特定ClassID、元素类型或文件扩展名(后缀)在DOM中被表示以对应于媒体插件,该媒体插件可结合图3(步骤315)如下所述来识别。
插件识别模块145触发用于文档的特殊模式。该特殊模式任选地包括独立于文档的用户界面配置,诸如在显示屏上指定多个目标区域以用于呈现。在一些情况下,插件识别模块145经由从DOM树获得的嵌入文档中的链接来检索元数据以进一步处理文档并检索远程内容。在一个实施例中,如果文档与特殊模式相关联,则内容提取模块150可根据特殊模式例如启发式地选择目标内容以从文档(例如,插件)来呈现。内容提取模块150任选地针对表示来自文档的插件的特定于模式的DOM树来复制选自原始DOM树的子树,以呈现在来自所显示的网页的用户不可见的单独进程中,以便运行结合本文图3和6所述的功率节省过程。
基于模式的UI配置模块155可将单独进程配置用于针对文档所识别的特殊模式,并且其为一种用于执行该功能的装置。在一个实施例中,内容提取模块150向基于模式的UI配置模块155提供从文档的经渲染的DOM树提取的配置参数和/或内容来源。基于模式的UI配置模块155任选地将由内容提取模块150创建的单独进程配置用于呈现关闭屏幕。
图像选择模块160提供用于选择插件的适当替换图像的处理,并且其为一种用于执行该功能的装置。模块160的一个具体实施结合图6进行描述。内容呈现模块165可例如基于与常规模式相关联的文档或来自特殊模式中的文档的所选择的内容来呈现经渲染的DOM树。
可见性模块170向浏览器125(或进程)提供用于例如通过将后台标签、最小化窗口、和遮挡内容识别为不可见来确定哪些网页和内容经由用户界面可见的能力,并且其为一种用于执行该功能的装置。模块170的一个具体实施结合图8进行描述。
节流模块175确定哪些内容正由操作系统进行功率节流,确定哪些内容应基于其可见性状态来进一步应用功率降低,将节流消息传送至操作系统以用于对整个进程进行节流,并且与定时器一起工作以在浏览器125层级处应用节流,并且其为一种用于执行该功能的装置。
计算设备105还包括UI模块180,该UI模块控制将图形用户界面方面呈现在显示器上,例如用于提供图4、5A/B、7和9-11的用户界面。
图2为根据一个实施例的用于充当计算设备105或服务器110的计算机200的高级框图。其示出了至少一个处理器205耦接至芯片集210。存储器215、存储设备220、键盘225、图形适配器230、指向设备235和网络适配器240也耦接至芯片集210。显示器245耦接至图形适配器230。在一个实施例中,芯片集210的功能由存储器控制器中心250和I/O控制器中心255来提供。在另一个实施例中,存储器215直接耦接至处理器205而不是芯片集210。
存储设备220包括非暂态计算机可读存储介质,诸如硬件驱动器、光盘只读存储器(CD-ROM)、DVD或固态存储器设备。存储器215保留处理器205所使用的指令和数据。在各种实施例中,指向设备235为鼠标、轨迹球、触摸面板或其他类型的指向设备,并且单独使用或与键盘225结合使用以将数据输入到计算机系统200中。本文所用的术语“点击”、“悬停”、“按钮选择”等指的是通过指向设备235进行的用户动作,意指影响该目标的任何用户发起的动作,其包括通常在支持单点触摸和多点触摸的设备上使用的触摸屏动作,诸如轻击、双击、使手指保持在触摸屏上、轻扫、挤压等。图形适配器230将图像和其他信息显示在显示器245上。网络适配器240将计算机系统200耦接至局域网或广域网,诸如图1的网络120。
如本领域中所已知的,计算机200可具有与图2所示部件不同的部件和/或其他部件。此外,计算机200可不含某些所示出的部件。在一个实施例中,充当服务器110的计算机200任选地不含键盘225、指向设备235、图形适配器230和/或显示器245。此外,存储设备220对于计算机200可为本地的和/或远程的(诸如体现于存储区域网络(SAN)内)。如本领域中所已知的,计算机200被适配为执行用于提供本文所述功能的计算机程序模块。在一个实施例中,程序模块存储在存储设备220上,加载到存储器215中并且由处理器205来支持。
方法流程:省电程序
本文所述的方法和系统描述了浏览器应用程序或进程可基于浏览器应用程序或进程控制的过程来减少计算设备的功率使用的方法。该方法包括浏览器(或其他进程)暂停网页上的并非主要资源的一个或多个插件,并且将处理密集型插件活动替换为作为从插件拍摄的快照的静态图像。此外,附加方法还包括减少对在浏览器中运行但当前并非焦点的网页的不可见部分的处理,诸如在标签处于不同标签后的后台中时、在浏览器窗口被最小化时,或者在网页被完全遮挡或被部分遮挡时。
图3为示出了一种用于节省功率的方法的流程图,该方法任选地由计算设备105(例如,浏览器125)或存储在本文的非暂态计算机可读存储介质中的一个或多个程序来执行。在一些情况下,浏览器125从用户接收310网页请求,例如通过选择超链接、书签或输入URL。所请求的网页由内容检索模块130从本地服务器或远程服务器进行检索。
然后,浏览器125(或进程)解析315网页以识别一个或多个插件部分。具体地,根据所检索到的网页,例如由DOM处理模块135对资源进行处理以确定待获取的主要资源、附加资源(诸如来自独立内容服务器的广告或多媒体内容等)等,并且记录有关各种资源及其相应的内容资源的详情。在该过程期间,例如由插件识别模块145基于例如由渲染模块140所渲染的DOM树来识别一个或多个插件应用程序。例如,如果网页包括具有指示媒体插件文件类型(例如,.swf、.wmv、.tivo、.rmd、.mpv2、.gvi——仅列举一部分)的文件扩展名(后缀)的链接,则网页包括媒体插件。类似地,如果网页包括通常与媒体插件相关联的元素(例如,<对象>、<嵌入式>、<视频>、<音频>、<来源>等——仅列举一部分),则浏览器125(或进程)了解到在网页上可能存在媒体插件。尽管可能经由该解析315过程来识别多个插件,但该附图说明的其余部分参考单个插件。在此,为清楚起见使用单数并且并不旨在进行限制;下文所述过程(步骤320-370)针对出现在网页上的多个插件任选地重复。
在一个实施例中,计算设备105将网页显示在web浏览器应用程序125中。图4示出了浏览器125显示CNN网页400的图形用户界面(GUI),例如由用户界面模块180提供。网页400具有位于网页400中间的主要资源部分410以及侧边部分430,该主要资源部分包括视频插件415和文本内容420,侧边部分也包括插件435。插件435为广告。尽管插件415,435利用播放按钮在此示出,但通常将自动启动,从而播放视频或其他动画。回放控制条在插件415的视频右下角处示出,然而,此类控制条是可选的并不以某些插件格式呈现。图3的解析步骤将识别插件415和435两者。
返回至图3,浏览器125(或其他进程)继而确定320哪组规则被应用于所识别的插件。根据一个实施例,一组规则为肯定性的,例如插件的来源出现在特定于用户的或基于浏览器的插件黑名单上以经受功率节省过程。例如,在一些情况下,已知广告服务器来源的黑名单由浏览器(或进程)来维护。在某些情况下适用的另一种肯定性规则为插件被确定使用超过最大功率使用阈值的电量。在该规则中,在定义的时间段来源内对插件的功率使用进行采样以确定功率使用是否超过被定义为所允许的最大功率使用率的阈值,如果超过该阈值则应用功率节省过程。功率使用基于插件对CPU的利用率。例如,浏览器125(或进程)可每隔一分钟检查CPU使用率,确定由插件引起的对利用率的度量(例如,CPU周期中由插件所使用的百分比,或者CPU时间的百分比),并且在经过了时间量t的情况下,在没有进行与插件相关的用户动作期间,可应用功率节省过程。
一组规则任选地包括排除性规则或否定性规则。例如,一组规则任选地包括插件并非用于网页的主要资源(例如,如上文在解析步骤315中所确定的)。这是因为某些网页被设计成使得几乎整个网页内容为单个Flash视频插件;在这种情况下,这种规则将有助于将Flash视频插件识别为主要资源(而不被识别为广告)并且不暂停插件。在这种情况下,浏览器125(或进程)将不应用功率节省过程,因为插件可能是用户试图经由网页来访问的内容。将内容识别为网页的主要资源的能力在于2010年6月4日提交的名称为“ReaderModePresentationofWebContent”的美国专利申请12/794,674中进一步描述,该专利申请全文以引用方式并入本文。
排除规则的另一个实例为插件不超过最大尺寸阈值,或者不小于最小尺寸阈值;在一些情况下,这些阈值是预先确定的或能够由浏览器125(或进程)来调节的。这些实例是插件仅为音频(例如,零尺寸或很小的尺寸)的规则,在这种情况下,使插件继续运行或者由于小尺寸该插件使用极少的功率/电池寿命是有意义的。在一些情况下,使用可选的预先确定的尺寸最小值,诸如低于最小宽度和/或高度(例如,40像素)、或低于总尺寸(例如,40×40像素)、或低于网页的像素区域的最小百分比(例如,小于5%)的尺寸。相反地,很大的插件有时指示它们是主要内容的一部分,即使在不由“非主要资源”否定性规则这样识别时也是如此。此外,预先确定的尺寸例如任选地作为网页的百分比来使用,例如在插件占用总网页的94%或更多的情况下,其被认为是大尺寸,因此不启动功率节省过程。
排除规则的另一个实例为插件并非来自特定于用户的或基于浏览器的来源白名单上所包括的来源(例如,上文在解析步骤315中所确定的来源)。在一些情况下,基于浏览器的白名单针对常用视频网站诸如YouTube、Vimeo等进行维护。特定于用户的白名单任选地被生成,例如在用户点击来自特定来源的插件从而与该插件进行交互时,来源信息被自动添加至来源白名单,该来源白名单在预先确定的时间(诸如30天)内由浏览器125(或进程)进行维护;用户可在偏好设置中编辑用户白名单以添加或移除来源。被点击的插件作为网页URL和插件URL的组合被添加至用户白名单。该过程限制了准许插件仅在其所出现的网页上,从而防止点击一次广告的用户无意中自动激活所访问的每个网页上的来自广告提供商的所有插件广告。此外,又一个否定性规则任选地响应于用户动作而不加载插件。例如,如果用户点击按钮或启动插件的其他用户界面元件,则用户很可能想要运行插件,从而不应使该特定插件实例省电。该实例常常针对与游戏相关联的插件而发生。浏览器125(或其他进程)查看插件是否由于用户输入(例如,鼠标、按键、触摸的时间戳)而被启动,或者在插件启动之前是否在N秒(例如,五秒)内发生用户动作。
如果(肯定性或否定性)规则不适用,则管理功率的进程(例如,浏览器125)允许370插件在不应用功率节省过程330的情况下加载。如果规则中的一个规则被应用,则浏览器(或进程)创建325用于所识别的插件的单独执行过程,例如经由内容提取模块150复制用于相关DOM部件的子树并将它们置于新的进程中,并且基于模式的UI配置模块155继而控制所复制的子树使其不被显示。浏览器(或进程)继而执行功率节省过程330。
再次参见图4的实例,主要资源部分410中的插件415将被归类为网页的主要资源,因此不对其应用功率节省过程。然而,插件435将应用功率节省过程,因为该插件不是主要资源(例如,不出现在白名单上,或甚至可能由于其为广告而出现在来源黑名单上)。
一旦功率节省过程被启动330,插件所消耗的电量便会减少(例如,通过阻止插件在网页上播放)。在对用户不可见的单独进程中,一个或多个图像作为来自插件的快照被捕获335,以可能用作静态图像从而在插件出现在所接收的网页上时对其进行替换。例如由图像选择模块160从一个或多个所捕获的图像中选择340作为替换图像的图像,如结合图6更详细所述的。
接下来,管理功率的进程(例如,浏览器125)利用经由单独进程(例如,由基于模式的UI配置模块155)所选择340的静态图像来替换345所识别的插件,以更新所显示的网页以包括静态图像而不是插件的视频(或其他内容)。不允许插件435继续运行(例如,阻止插件运行、暂停插件或以其他方式使插件停止)使计算设备100节省了大量的计算功率和电池寿命。
现在参见图5A,其示出了网页500,在该网页中插件435已按照上述替换步骤345由与插件435对应的静态图像440来替换。如图5B所示,如果用户悬停于静态图像440上或触摸屏上的对应动作诸如保持该触摸静止于静态图像440上,则通知445“插件暂停——点击重启”出现。如果用户在静态替换图像440处进行选择动作或触摸动作,则在网页上重载相同类型的插件。
该进程涉及媒体插件,诸如包括视频、音频或包括视频或其他可视化部件的某种组合的那些媒体插件。对于不具有可视化部件的插件类型,可应用下文结合图8-11所述的功率减少进程(基于浏览器的节流或其他进程控制的节流)(例如,减少更新、暂停等)来代替上述功率节省过程330。
返回至图3,如果在稍后的时间处,如步骤345和350之间箭头中的虚线所表示的,浏览器125(或进程)接收到350与插件相关的用户动作,则浏览器125(或进程)确定355该动作是否为重载类型的动作。根据各种实施例,重载类型的动作包括点击静态图像440或通知445,或者指示用户想要重载插件435的其他动作。如果动作是重载类型的,则浏览器125(或进程)重载360插件,例如由基于模式的用户界面配置模块155重新配置网页以供渲染。
如果动作不是重载类型的,诸如调整插件435的尺寸或点击与网页上的功率节省插件对应的不同静态图像440,则进程返回到步骤320以检查对应插件435是否满足任何进一步的省电规则。在该实例中,规则为在上文中结合步骤320描述的,或任选地与步骤350的用户动作(例如,针对调整尺寸的动作)相关,在一些情况下,该规则为插件435的尺寸是否已被调整成超过上述最大尺寸阈值(从而指示浏览器或进程不进一步使插件省电)。对于与重载网页上不同插件435对应的动作,在一些情况下,该规则为插件435是否为相同类型以及是否来自相同的内容来源,在这种情况下,再次不使插件435省电。此外,浏览器125(或进程)任选地在网页上运行插件435的双重检查以检查暂停的插件435是否对应于网页的主要资源部分(诸如图4的410)以及是否为大尺寸。在该实例中,浏览器125(或进程)具有网页上的典型主要资源的坐标信息(例如,在网页的中间部分,但不完全在顶部),并且其可确定插件是否在这些坐标的区域内。如果规则不适用,则重载360插件435。
方法流程:替换图像选择
功率节省过程330有益地进行操作以提供替换图像,该替换图像将给予用户网页上的插件正常运行而并未损坏的印象。这是因为如果插件只是简单地停止而不具有替换图像,则用户可能错误地推断插件或网页未正常运行。现在参见图6,其示出流程图,该流程图示出根据一个实施例的用于选择性地应用功率节省过程330以选择合适的静态图像以用于替换网页上的插件的方法。单独进程(线程)例如图像选择模块160首先从浏览器125(或进程)接收605插件435,例如作为启动图3的功率节省过程330的结果。
首先,从浏览器125(或管理功率的进程)接收610用于省电的所选择的插件。程序循环620开始用于处理N个图像,在该实例中为图像1到图像N。如结合图3所描述的,从插件435捕获630一个或多个图像(图3的步骤335)。
接下来,进程例如根据各种标准来确定640所捕获的图像是否适于作为静态替换图像进行显示。根据一个实施例,通过生成图像的颜色直方图来分析图像以检测存在于图像中的颜色。对直方图颜色进行检查以确定640图像是否满足用作静态替换图像的标准。
用于将图像用作替换图像的标准基于直方图中的颜色的分布将不表示插件435的内容的图像排除在外。例如,全部(或基本上例如98%)黑色像素或全部(或基本上全部)白色像素,或者更一般地基本上全部一个颜色的静态图像被拒绝作为候选替换图像,因为它们造成插件或网页“损坏”的印象。图7显示了用于显示不满足用作替换图像的标准的假设的静态图像710的网页700的实例。在该实例中,静态图像为来自视频的一个时刻,其中整个图像为单一颜色,例如全黑。全黑静态图像不满足上述标准,因为其可能使观看者误认为插件“损坏”而不是仅仅停止。
返回至图6,如果图像满足标准,则选择图像并作为替换图像被提供670至浏览器125(或进程)。否则,循环递增650候选图像的数量,并且循环继续返回至步骤620处的起点。如果已对最大数量的图像(例如,N=20)进行分析并且未找到满足标准的图像,则使用660最后捕获的图像并将其提供670至浏览器125(或进程)。此外,对于图中所示的两个场景,即分析最多至N个图像直到找出满足标准的图像(此时进程停止),或者分析N个图像直到进程选择第N个图像,另外两个场景对于选择该图像作为替代的进程来说是可能的。首先,在最简单的实例中,可仅从该插件捕获630图像一次,并且可将该图像作为替换图像提供670至浏览器125(或进程)。如上所述,该选项面临着用户认为插件或网页损坏的风险。另选地,不使用与所捕获和所分析640的图像的数量限制对应的循环,而可使用针对图像的捕获和分析640设定时间限制的循环例如捕获一段时间t内的图像,该时间段可为在加载网页之后预先确定的秒数(或更短时间增量),例如2秒。对所捕获和所分析的图像的数量的这一数值限制或时间限制针对在选择图像之前被考虑用作静态图像的图像的数量设定限制,即使其不满足标准也是如此。考虑多个图像可有助于提供作为静态图像而显示的“最佳”图像,同时对数量设有限制有助于避免针对该步骤使用太多处理/功率,该处理/功率过多将使减少功率使用的目标大打折扣。
后台进程的功率节省
除了与主要网页上的插件相关的上述功率节省过程之外,浏览器125(或进程)还可通过减少或暂停在后台网页的不可见部分上发生的进程诸如后台(不被显示的)标签、最小化的网页和被完全遮挡或被部分遮挡的网页来提供附加功率节省。
在一些具体实施中,进程的操作系统层级控件(功率节流)可减少或暂停正在浏览器应用程序125(或浏览器)内的进程中运行的所有网页,并且浏览器应用程序125(或功率管理进程)可选择性地减少单个网页的进程执行。这是因为操作系统可确定哪些进程正在运行但并不具有关于哪些网页具有焦点的信息,以及哪些在显示器上是可见的与被遮挡的。因此,在一些情况下,操作系统使所有进程运行,或者在其他情况下,操作系统减少所有进程。由于浏览器应用程序125(或进程)具有关于哪些网页可见/具有焦点的信息,因此浏览器125(或进程)可选择性地控制非焦点网页的执行。
图8为示出了用于识别和选择性地控制后台进程的执行以减少这些后台进程的功率消耗(其在本文称为“节流”)的过程的流程图,该过程任选地由计算设备105或存储于本文的非暂态计算机可读存储介质中的一个或多个程序来执行。首先,管理功率的进程(例如,web浏览器125)确定在浏览器125中打开的网页。在其他实施例中,浏览器125(或与浏览器相关联的进程)可将网页可见性信息报告给OS,并且OS可执行功率管理。例如,DOM处理模块135生成用于网页的DOM树,并且渲染模块140对DOM树进行渲染。例如,如果三个不同网页均为打开的,则三个渲染进程用于渲染网页:每个网页对应一个渲染进程。另选地,在一些情况下,多个网页在单个进程中运行。例如,前N个网页在其自身的进程中运行并且之后的网页(N+1等)共享一个进程,这对于浏览器125来说是典型的。类似地,来自相同域的网页能够在同一进程中运行。许多其他配置也是可能的。
浏览器125(或进程)确定820网页的内容是否可见。浏览器125(或进程)跟踪网页的可见性状态,该可见性状态可基于网页是否处于后台标签中、浏览器窗口是否被最小化或者内容是否被另一窗口部分遮挡或完全遮挡使其不可见而被设置为不可见的可见性状态。图9为根据一个实施例的在后台标签中显示网页的实例的GUI900的屏幕截图。CNN新闻网页在后台中,如由出现在后台标签910上的标题所示出的,而Apple网页920在前面的标签中。在该实例中,CNN新闻网页不可见,并且将例如经由可见性模块170由浏览器125(或进程)这样进行识别。图10为显示了几乎被Word文档1020完全遮挡的网页1010的实例的GUI1000的屏幕截图。同样,CNN新闻网页1010的大部分不可见,浏览器125(或进程)在该步骤中对其进行识别。尽管图10所示的实例示出Word文档应用程序1020遮挡网页1010,但也可以是显示器上的任何其他项阻挡网页1010的内容,使其被完全遮挡或被部分遮挡。图11为显示被最小化的网页1110的实例的GUI1100的屏幕截图。网页1110的大部分不可见,浏览器应用程序125(或进程)在该步骤中对其进行识别。
如果网页可见,即具有可见的可见性状态,则管理功率使用的进程(例如,浏览器125)并不减少830对网页的处理以节省功率。如果网页内容不可见,浏览器125或进程还确定840相关进程是否已由操作系统限制功率。如果操作系统已对网页进行功率节流,则进程(例如,浏览器应用程序125)确定850是否应经由浏览器125或进程对网页施加附加节流。简而言之,进程或浏览器125面临四种可能的场景,经由表1概括如下:可见/未节流、可见/经节流、不可见(隐藏)/经节流,以及不可见(隐藏)/未节流。根据一个实施例,当前操作系统功率节流状态以及是否施加附加功率降低由节流模块175来确定。此外,在一些情况下,作为以上图3的功率节省过程330的替代性方案,进程或浏览器125决定对非媒体类型插件的可见插件施加以下功率节流860。
如果由于这些确定使内容需要进行功率节流860,则其可发生在操作系统或浏览器125(或其他进程)层级处。进程或浏览器125可仅将节流消息传送至与网页相关联的网页进程,该网页进程继而将允许操作系统控制整个进程,以减少功率消耗。或者,例如如果一个以上的网页正在进程中运行,则进程或浏览器125可通过两种方式进行节流:(1)经由使用定时器来降低更新速率的轻型节流,例如,控制JavaScriptTM定时器和DOM定时器,以及(2)通过停止层叠样式表(CSS)动画的重型节流。定时器的节流是指将定时器设定为在频率较低时中断(例如,产生频率较低的更新/刷新速率)。例如,可将每秒钟通常中断三次的定时器节流为每秒钟中断一次的速率,更新速率降低了三分之二,从而使功率节省。该节流仅为示例性的,并且可对定时器使用增大其最小持续时间(例如,增大每次定时器触发由定时器所控制的进程的性能之间的空闲时间)的任何其他调整。使用如上JavaScriptTM定时器和DOM定时器的实例,指的是网页上的基于JavaScript的动作和网页的实际内容(DOM定时器)将每秒钟更新一次而不是每秒钟更新三次。与CSS动画相关的节流属于密集型处理,除了或独立于使用定时器,其可在需要附加节流的情况下阻止CSS动画完全发生。例如,如果包含网页的窗口被最小化,则没有理由将图像以图形形式继续呈现于由CSS所控制的网页上。
表1
表1显示了浏览器125(或进程)面临的四种可能场景:可见/未节流、可见/经节流(通过操作系统)、不可见(隐藏)/经节流(通过操作系统),以及不可见(隐藏)/未节流,以及浏览器125如何处理每个场景。如果设备上管理功率的进程(例如,浏览器125)在步骤820处确定网页内容是可见的,则其不对定时器进行节流并且动画以全速进行。如果进程(例如,浏览器125)在步骤820处确定网页内容是可见的,并且在步骤840处确定内容已由操作系统节流/降低功率,则其不对定时器进行节流。然而,由于动画由操作系统进行节流,因此其已被减慢。如果进程(例如,浏览器125)在步骤820处确定网页内容不可见,并且在步骤840处确定内容已由操作系统进行节流,则进程或浏览器125可以不同速率启动定时器和/或停止动画,以提供功率降低。如果进程(或浏览器125)在步骤820处确定网页内容不可见,并且在步骤840处确定内容未由操作系统进行节流,则如上所述,其任选地选择通过将节流信息传送至与网页相关联的网页进程来允许操作系统简化整个过程以对网页的内容进行节流并减少功率使用,或者任选地在浏览器处直接进行节流或经由以不同的速率启动定时器和/或停止动画的进程。如上所述,该场景适用于单个进程运行多个网页并且其中一个网页不可见的特殊情况。在该实例中,进程不应由操作系统进程进行节流,因为在同一进程中运行的另一网页实际上是可见的。另外的启发法任选地适用于决定是否应选择性地对某一不可见网页内容诸如音频应用节流。
本文所述进程涉及媒体插件,诸如包括视频、音频或包括视频或其他可视化部件的某种组合的媒体插件。尽管所描述的一些方面适用于具体可视化部件(例如,捕获快照),但本文所述的其他方面更一般地适用于不具有可视化部件的插件类型(例如,减少更新、暂停等)。
本文的公开已相对于一个可能的实施例进行了详述。本领域的技术人员应理解,在一些情况下,实施其他实施例。首先,部件和变量的特定命名、术语的大写形式、属性、数据结构或任何其他编程或结构方面并非强制性的或重要的,并且实现本发明或其特征的机制任选地具有不同的名称、格式或协议。另外,本文所述的各种系统部件之间的具体功能划分仅为示例性的而非强制性的;在一些情况下,由单个系统执行的功能可任选地由多个部件来执行,并且在其他情况下,由多个部件执行的功能可任选地由单个部件来执行。
以上描述的一些部分呈现信息操作的算法和符号表示方面的特征。这些算法描述和表示是数据处理领域的技术人员所使用的工具,而这些工具也能最有效地将其工作的实质传达至该领域其他技术人员。尽管在功能上或逻辑上对这些操作进行描述,但应理解其由计算机程序来实现。此外,也已证明便于有时在不丧失一般性的同时作为模块或通过功能名称来引用这些操作的布置。
除非另外特别说明,否则从上述讨论中显而易见的是,可以理解在整个说明书中利用术语诸如“确定”或“显示”等的讨论是指计算机系统或类似的电子计算设备的操作和进程,其可对在计算机系统存储器或寄存器或其他此类信息存储装置、传输设备或显示设备中的表示为物理(电子)量的数据进行操作和转换。
本文所公开的实施例的某些方面包括本文所述的算法形式的进程步骤和指令。应当指出的是,进程步骤和指令可被包括在软件、固件或硬件中,并且在被包括在软件中时,可对其进行下载以存在并运行于由实时网络操作系统所使用的不同平台上。
本文中所呈现的算法和操作并不固有地与任何特定计算机或其他装置相关。根据本文的教导内容,各种通用系统任选地与程序一起使用,或者任选地经由更专用装置的构造来执行所需方法步骤。各种此类系统所需的结构以及等同变型对于本领域的技术人员来说将是显而易见的。此外,本发明未参照任何特定的编程语言来进行描述。应当理解,在各种情况下,使用多种编程语言来实现本文所述的本发明的教导内容,并且提供对本发明的特定语言的任意引用以实现本发明的最佳方式。
本文所公开的实施例很好地适用于位于多个拓部结构上的多种计算机网络系统。在该技术领域内,大型网络的配置和管理包括通过网络诸如互联网可通信地耦接到不同计算机和存储设备的存储设备和计算机。
最后,应当指出的是,在一些情况下,本说明书所使用的语言主要针对便于读取和教学目的来进行选择,而非为了描绘或限定发明主题来进行选择。因此,本公开对于本发明的范围旨在是示例性的而非限制的,本发明的范围将在以下权利要求中示出。

Claims (48)

1.一种用于在浏览器应用程序内节省功率的计算机实现的方法,所述方法包括:
响应于在浏览器应用程序处接收到由用户所请求的网页,所述浏览器解析所述网页以识别与一个或多个媒体插件对应的网页部分;
针对所述网页上的一个或多个所识别的媒体插件:
确定是否将功率节省过程应用于所述插件;
响应于确定应用功率节省过程:
捕获所述插件的至少一个图像;
从所述至少一个所捕获的图像中选择适于进行显示的图像作为静态替换图像;以及
利用所述静态替换图像来替换所述插件。
2.根据权利要求1所述的计算机实现的方法,其中从所述一个或多个所捕获的图像中选择适于进行显示的图像作为静态替换图像进一步包括:
将颜色直方图应用于所述插件的所捕获的图像;以及
响应于基于所述颜色直方图来确定所捕获的图像满足用于成为所述静态替换图像的标准,选择适于进行显示的所述图像作为所述静态替换图像。
3.根据权利要求3所述的计算机实现的方法,其中所述确定所捕获的图像满足所述标准包括确定所述图像是否基本上为单一颜色,并且在所述图像并非基本上为单一颜色的情况下将其用作替换。
4.根据权利要求1所述的计算机实现的方法,其中捕获所述插件的至少一个图像包括捕获最多至预先确定的最大数量的图像。
5.根据权利要求1所述的计算机实现的方法,还包括响应于接收到指示悬停于所述静态替换图像上方的输入,显示所述插件被暂停的指示。
6.根据权利要求1所述的计算机实现的方法,还包括响应于接收到指向所述静态替换图像的输入,重载对应插件。
7.根据权利要求6所述的计算机实现的方法,还包括响应于接收到指向所述静态替换图像的输入,在所述网页上重载与对应插件相同类型和来源的插件。
8.根据权利要求1所述的计算机实现的方法,其中确定是否将功率节省过程应用于所述插件包括一个或多个排除规则,在满足所述一个或多个排除规则的情况下,不将所述功率节省过程应用于所识别的插件,所述一个或多个排除规则选自由以下各项组成的组:
所述插件为所述网页的主要资源;
所述插件响应于用户动作而加载;
所述插件来自被包括在来源白名单上的来源;
所述插件超过最大尺寸阈值;以及
所述插件小于最小尺寸阈值。
9.根据权利要求1所述的计算机实现的方法,其中所述网页上的所述一个或多个插件中的一个插件被精确暂停,而所述网页上的其他插件不被暂停。
10.根据权利要求1所述的计算机实现的方法,其中确定是否将功率节省过程应用于所述插件包括排除规则,在所述插件来源被包括在来源白名单上的情况下,所述排除规则不将所述功率节省过程应用于所识别的插件。
11.根据权利要求10所述的计算机实现的方法,其中所述来源白名单由所述浏览器基于已知视频内容网页来源进行维护。
12.根据权利要求10所述的计算机实现的方法,其中所述来源白名单是基于由所述用户所重载的插件而特定于用户的。
13.根据权利要求1所述的计算机实现的方法,其中确定是否将功率节省过程应用于所述插件包括一个或多个肯定性规则,在满足所述一个或多个肯定性规则的情况下,触发将所述功率节省过程应用于所识别的插件,所述一个或多个肯定性规则选自由以下各项组成的组:
所述插件来自被包括在来源黑名单上的来源;以及
所述插件被确定使用超过功率阈值的功率量。
14.一种用于在浏览器应用程序内节省功率的计算机实现的方法,所述方法包括:
响应于在浏览器应用程序处接收到由用户所请求的网页,所述浏览器解析所述网页以识别与一个或多个媒体插件对应的网页部分;
针对所述网页上的一个或多个所识别的媒体插件:
将一组规则应用于所述插件以确定是否将功率节省过程应用于所述插件;
响应于所述插件满足来自所述一组规则中的规则,将所述功率节省过程应用于所述插件包括:
从与所述插件的快照对应的多个图像中捕获一个或多个图像;
从所述一个或多个所捕获的图像中选择适于进行显示的图像作为静态替换图像包括:
将颜色直方图应用于第一捕获图像;以及
确定所述第一捕获图像是否满足用于成为所述静态替换图像的标准;
响应于确定所述第一捕获图像满足用于成为所述静态替换图像的所述标准,利用所述静态替换图像来替换所述插件;以及
响应于确定所述第一捕获图像不满足用于成为所述静态替换图像的所述标准:
将颜色直方图应用于第一捕获图像;以及
确定所述第一捕获图像是否满足用于成为所述静态替换图像的标准。
15.根据权利要求14所述的计算机实现的方法,其中所述确定所捕获的图像满足所述标准包括确定所述图像是否基本上为单一颜色,并且在所述图像并非基本上为单一颜色的情况下将其用作替换。
16.根据权利要求14所述的计算机实现的方法,其中捕获所述插件的至少一个图像包括捕获最多至预先确定的最大数量的图像。
17.根据权利要求14所述的计算机实现的方法,还包括响应于接收到悬停于所述静态替换图像上方的输入,显示所述插件被暂停的指示。
18.根据权利要求14所述的计算机实现的方法,还包括响应于接收到指向所述静态替换图像的输入,重载对应插件。
19.一种用于在浏览器应用程序内节省功率的计算机实现的方法,所述方法包括:
响应于在浏览器应用程序接收到由用户所请求的网页,所述浏览器解析所述网页以识别与一个或多个插件对应的网页部分;
针对所述网页上的一个或多个所识别的插件:
确定是否将功率节省过程应用于所述插件;
响应于确定应用功率节省过程,调整与打开网页对应的一个或多个定时器以降低与所述打开网页相关联的更新速率。
20.根据权利要求19所述的计算机实现的方法,其中所述一个或多个定时器选自由以下各项组成的组:DOM定时器、javascript定时器和CSS动画定时器。
21.根据权利要求19所述的计算机实现的方法,还包括响应于确定应用所述功率节省过程,停止所述网页的CSS动画。
22.根据权利要求19所述的计算机实现的方法,其中调整所述一个或多个定时器以降低所述更新速率增大了与所述一个或多个定时器相关联的最短持续时间。
23.一种具有非暂态计算机可读存储介质的计算机程序产品,所述非暂态计算机可读存储介质存储用于在浏览器应用程序内节省功率的可执行代码,所述代码当被执行时执行步骤,所述步骤包括:
响应于在浏览器应用程序处接收到由用户所请求的网页,所述浏览器解析所述网页以识别与一个或多个媒体插件对应的网页部分;
针对所述网页上的一个或多个所识别的媒体插件:
确定是否将功率节省过程应用于所述插件;
响应于确定应用功率节省过程:
捕获所述插件的至少一个图像;
从所述至少一个所捕获的图像中选择适于进行显示的图像作为静态替换图像;以及
利用所述静态替换图像来替换所述插件。
24.根据权利要求23所述的计算机程序产品,其中从一个或多个所捕获的图像中选择适于进行显示的图像作为静态替换图像进一步包括:
将颜色直方图应用于所述插件的所捕获的图像;以及
响应于基于所述颜色直方图来确定所捕获的图像满足用于成为所述静态替换图像的标准,选择适于进行显示的所述图像作为所述静态替换图像。
25.根据权利要求23所述的计算机程序产品,还包括响应于接收到悬停于所述静态替换图像上方的输入,显示所述插件被暂停的指示。
26.根据权利要求23所述的计算机程序产品,还包括响应于接收到指向所述静态替换图像的输入,重载对应插件。
27.根据权利要求23所述的计算机程序产品,其中确定是否将功率节省过程应用于所述插件包括一个或多个排除规则,在满足所述一个或多个排除规则的情况下,不将所述功率节省过程应用于所识别的插件,所述一个或多个排除规则选自由以下各项组成的组:
所述插件为所述网页的主要资源;
所述插件响应于用户动作而加载;
所述插件来自被包括在来源白名单上的来源;
所述插件超过最大尺寸阈值;以及
所述插件小于最小尺寸阈值。
28.根据权利要求23所述的计算机程序产品,其中确定是否将功率节省过程应用于所述插件包括一个或多个肯定性规则,在满足所述一个或多个肯定性规则的情况下,触发将所述功率节省过程应用于所识别的插件,所述一个或多个肯定性规则选自由以下各项组成的组:
所述插件来自被包括在来源黑名单上的来源;以及
所述插件被确定使用超过功率阈值的功率量。
29.一种用于在浏览器应用程序内节省功率的计算机实现的方法,所述方法包括:
确定一组打开网页;
确定与所述打开网页中的一个或多个打开网页相关联的可见性状态,所述可见性状态为不可见状态或可见状态;以及
响应于针对来自所述一组打开网页中的打开网页的不可见的可见性状态确定,调整与所述打开网页对应的一个或多个定时器以降低与所述打开网页相关联的更新速率。
30.根据权利要求29所述的计算机实现的方法,其中响应于以下各项中的至少一者来确定针对所述打开网页的所述不可见的可见性状态:
所述网页在后台标签中运行;
所述浏览器被最小化;
所述网页被部分遮挡;以及
所述网页被完全遮挡。
31.根据权利要求29所述的计算机实现的方法,其中所述一个或多个定时器选自由以下各项组成的组:DOM定时器、javascript定时器和CSS动画定时器。
32.根据权利要求29所述的计算机实现的方法,还包括响应于针对来自所述一组打开网页中的所述打开网页的所述不可见的可见性状态确定,停止所述网页的CSS动画。
33.根据权利要求29所述的计算机实现的方法,其中调整所述一个或多个定时器以降低所述更新速率增大了与所述一个或多个定时器相关联的最短持续时间。
34.根据权利要求29所述的计算机实现的方法,还包括:
确定与所述打开网页中的一个或多个打开网页相关联的操作系统节流状态;并且
其中所述调整与所述打开网页对应的所述一个或多个定时器以降低与所述打开网页相关联的更新速率至少部分地响应于针对所述打开网页的未节流的操作系统节流状态确定。
35.根据权利要求29所述的计算机实现的方法,还包括:
确定与所述打开网页中的一个或多个打开网页相关联的操作系统节流状态;以及
响应于针对所述打开网页的经节流的操作系统节流状态确定,以用于表明所述操作系统节流状态的较小量来调整所述一个或多个定时器以降低与所述打开网页相关联的所述更新速率。
36.根据权利要求29所述的计算机实现的方法,其中所述一组打开网页中的两个网页在单个进程内运行,并且其中对所述一个或多个定时器的所述调整是对所述两个网页中的一个网页进行精确调整。
37.根据权利要求36所述的计算机实现的方法,其中在单个进程内运行的所述一组打开网页中的所述两个网页来自单一来源域。
38.一种用于在浏览器应用程序内节省功率的计算机实现的方法,所述方法包括:
由所述浏览器来确定一组打开网页;
确定与所述打开网页中的一个或多个打开网页相关联的可见性状态,所述可见性状态为不可见状态或可见状态;
确定与所述打开网页中的所述一个或多个打开网页相关联的操作系统节流状态;以及
响应于针对来自所述一组打开网页中的打开网页的不可见的可见性状态确定并且至少部分地基于响应于针对所述打开网页的未节流的节流状态来调整与所述打开网页对应的一个或多个定时器以降低与所述打开网页相关联的更新速率。
39.根据权利要求38所述的计算机实现的方法,其中响应于以下各项中的至少一者来确定针对所述打开网页的所述不可见的可见性状态:
所述网页在后台标签中运行;
所述浏览器被最小化;
所述网页被部分遮挡;以及
所述网页被完全遮挡。
40.根据权利要求38所述的计算机实现的方法,其中所述一个或多个定时器选自由以下各项组成的组:DOM定时器、javascript定时器和CSS动画定时器。
41.根据权利要求38所述的计算机实现的方法,还包括响应于针对来自所述一组打开网页中的所述打开网页的所述不可见的可见性状态确定,停止所述网页的CSS动画。
42.根据权利要求38所述的计算机实现的方法,其中调整所述一个或多个定时器以降低所述更新速率增大了与所述一个或多个定时器相关联的最短持续时间。
43.根据权利要求29所述的计算机实现的方法,其中所述一组打开网页中的两个网页在单个进程内运行,并且其中对所述一个或多个定时器的所述调整是对所述两个网页中的一个网页进行精确调整。
44.一种具有非暂态计算机可读存储介质的计算机程序产品,所述非暂态计算机可读存储介质存储用于在浏览器应用程序内节省功率的可执行代码,所述代码在当被执行时执行步骤,所述步骤包括:
确定一组打开网页;
确定与所述打开网页中的一个或多个打开网页相关联的可见性状态,所述可见性状态为不可见状态或可见状态;以及
响应于针对来自所述一组打开网页中的打开网页的不可见的可见性状态确定,调整与所述打开网页对应的一个或多个定时器以降低与所述打开网页相关联的更新速率。
45.根据权利要求44所述的计算机程序产品,其中响应于以下各项中的至少一者来确定针对所述打开网页的所述不可见的可见性状态:
所述网页在后台标签中运行;
所述浏览器被最小化;
所述网页被部分遮挡;以及
所述网页被完全遮挡。
46.根据权利要求44所述的计算机程序产品,其中所述一个或多个定时器选自由以下各项组成的组:DOM定时器、javascript定时器和CSS动画定时器。
47.根据权利要求44所述的计算机程序产品,还包括:
确定与所述打开网页中的所述一个或多个打开网页相关联的操作系统节流状态;并且
其中所述调整与所述打开网页对应的所述一个或多个定时器以降低与所述打开网页相关联的更新速率至少部分地响应于针对所述打开网页的未节流的操作系统节流状态确定。
48.根据权利要求44所述的计算机程序产品,其中所述一组打开网页中的两个网页在单个进程内运行,并且其中对所述一个或多个定时器的所述调整是对所述两个网页中的一个网页进行精确调整。
CN201480032730.8A 2013-06-09 2014-06-06 浏览器驱动的功率节省 Active CN105339932B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361832951P 2013-06-09 2013-06-09
US61/832,951 2013-06-09
PCT/US2014/041428 WO2014200870A2 (en) 2013-06-09 2014-06-06 Browser-driven power saving

Publications (2)

Publication Number Publication Date
CN105339932A true CN105339932A (zh) 2016-02-17
CN105339932B CN105339932B (zh) 2020-07-03

Family

ID=51063844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480032730.8A Active CN105339932B (zh) 2013-06-09 2014-06-06 浏览器驱动的功率节省

Country Status (4)

Country Link
US (2) US10209760B2 (zh)
EP (1) EP2997504B1 (zh)
CN (1) CN105339932B (zh)
WO (1) WO2014200870A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105759938A (zh) * 2016-02-18 2016-07-13 西安三星电子研究有限公司 移动终端的节能方法和设备
CN106095460A (zh) * 2016-06-21 2016-11-09 上海联彤网络通讯技术有限公司 实现终端内嵌浏览器优化网页加载的系统及方法
CN106445496A (zh) * 2016-08-26 2017-02-22 北京小米移动软件有限公司 浏览器页面中定时器的设置方法及装置
WO2018153195A1 (zh) * 2017-02-27 2018-08-30 华为技术有限公司 一种移动终端的省电方法及相关设备
CN111399732A (zh) * 2020-03-13 2020-07-10 深圳市珍爱云信息技术有限公司 网页截图方法、装置、计算机设备和存储介质

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
US11074394B2 (en) * 2013-07-10 2021-07-27 Comcast Cable Communications, Llc Adaptive content delivery
US20150095758A1 (en) * 2013-10-01 2015-04-02 Microsoft Corporation Web content suspension compatibility and suspended web content lifetime
US9658747B2 (en) 2013-10-01 2017-05-23 Microsoft Technology Licensing, Llc Virtual tabs supporting web content suspension
US9799380B2 (en) * 2013-11-05 2017-10-24 Google Inc. Managing open tabs of an application
US9921632B2 (en) * 2014-07-18 2018-03-20 Qualcomm Incorporated Pausing scripts in web browser background tabs
US10007555B1 (en) * 2014-12-05 2018-06-26 Google Llc Dynamic resource management
US9197663B1 (en) 2015-01-29 2015-11-24 Bit9, Inc. Methods and systems for identifying potential enterprise software threats based on visual and non-visual data
US9665158B2 (en) * 2015-02-25 2017-05-30 Verizon Patent And Licensing Inc. Battery save mode
US9954919B1 (en) * 2015-02-27 2018-04-24 Amazon Technologies, Inc. Enabling continuous content playback
RU2634221C2 (ru) 2015-09-23 2017-10-24 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для отрисовки представления электронного документа на экране
US10362146B1 (en) * 2015-09-30 2019-07-23 Open Text Corporation Method and system for enforcing governance across multiple content repositories using a content broker
US10212130B1 (en) * 2015-11-16 2019-02-19 Shape Security, Inc. Browser extension firewall
US10044576B2 (en) * 2015-11-25 2018-08-07 Qualcomm Incorporated Estimation of power consumption of individual websites
US20170164290A1 (en) * 2015-12-08 2017-06-08 Qualcomm Incorporated Reduced power consumption for browsing websites
US10719572B2 (en) * 2018-07-03 2020-07-21 Servicenow, Inc. Resource management for objects within a web application
CN110826007B (zh) * 2019-12-04 2022-07-05 杭州安恒信息技术股份有限公司 栏目更新日期确定方法、装置、设备及可读存储介质
US11611482B1 (en) 2020-06-12 2023-03-21 Menlo Security, Inc. Bandwidth throttling
US11983235B2 (en) 2021-09-22 2024-05-14 International Business Machines Corporation Dynamic resource usage web browser
CN114780164B (zh) * 2022-02-28 2023-04-25 深圳开源互联网安全技术有限公司 基于浏览器插件筛选网页信息的方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009495A1 (en) * 2001-06-29 2003-01-09 Akli Adjaoute Systems and methods for filtering electronic content
US20050228849A1 (en) * 2004-03-24 2005-10-13 Tong Zhang Intelligent key-frame extraction from a video
CN101627357A (zh) * 2005-06-06 2010-01-13 欧恩尼其公司 第三方网络插件内容的网络使用覆盖图
US20110022984A1 (en) * 2009-01-23 2011-01-27 Palm, Inc. Selective Plug-In Activation For Resource-Limited Platforms
WO2011123859A1 (en) * 2010-04-02 2011-10-06 Skyfire Labs, Inc. Assisted hybrid mobile browser
CN102667664A (zh) * 2009-12-23 2012-09-12 诺基亚公司 用于web应用的能量消耗优化
US20120246570A1 (en) * 2011-03-22 2012-09-27 International Business Machines Corporation Managing a portal application
US20130084000A1 (en) * 2011-09-30 2013-04-04 caeBay Inc. Complementary item recommendations using image feature data

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015438A1 (en) * 2000-08-15 2002-02-21 Lockheed Martin Corporation Infrared data communication system
CN1156783C (zh) * 2001-03-27 2004-07-07 国际商业机器公司 在网页上加载广告的服务器及方法和网页显示装置及方法
US7000126B2 (en) * 2002-04-18 2006-02-14 Intel Corporation Method for media content presentation in consideration of system power
CN100385852C (zh) 2004-06-22 2008-04-30 腾讯科技(深圳)有限公司 一种网页插件选择下载的实现方法及其装置
US7802222B2 (en) * 2006-09-25 2010-09-21 Cadence Design Systems, Inc. Generalized constraint collection management method
US7917773B2 (en) * 2007-05-02 2011-03-29 Microsoft Corporation Visibility-aware services
US8643653B2 (en) * 2007-06-08 2014-02-04 Apple Inc. Web-based animation
US20090282327A1 (en) 2008-05-12 2009-11-12 International Business Machines Corporation Method and system for efficient web page rendering
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
KR20120114270A (ko) * 2009-11-20 2012-10-16 티피 비전 홀딩 비.브이. 플러그-인 콘텐츠를 포함하는 웹페이지의 렌더링
US8769398B2 (en) * 2010-02-02 2014-07-01 Apple Inc. Animation control methods and systems
US20120117486A1 (en) 2010-11-10 2012-05-10 PeopleString Method and Apparatus for Web Page Glancing
US8610724B2 (en) * 2011-07-29 2013-12-17 Qualcomm Innovation Center, Inc. Systems and methods for webpage adaptive rendering
US8250228B1 (en) 2011-09-27 2012-08-21 Google Inc. Pausing or terminating video portion while continuing to run audio portion of plug-in on browser
TWI575577B (zh) * 2011-11-15 2017-03-21 友達光電股份有限公司 畫素結構及畫素結構的製造方法
US9274913B2 (en) * 2012-03-08 2016-03-01 Google Inc. Event pages for web applications and extensions
WO2014124417A1 (en) * 2013-02-11 2014-08-14 Vindico Llc Comprehensive measurement of the opportunity to see online advertisements
US9501460B1 (en) * 2013-02-28 2016-11-22 Google Inc. Detecting and processing invisible elements within a web page

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009495A1 (en) * 2001-06-29 2003-01-09 Akli Adjaoute Systems and methods for filtering electronic content
US20050228849A1 (en) * 2004-03-24 2005-10-13 Tong Zhang Intelligent key-frame extraction from a video
CN101627357A (zh) * 2005-06-06 2010-01-13 欧恩尼其公司 第三方网络插件内容的网络使用覆盖图
US20110022984A1 (en) * 2009-01-23 2011-01-27 Palm, Inc. Selective Plug-In Activation For Resource-Limited Platforms
CN102667664A (zh) * 2009-12-23 2012-09-12 诺基亚公司 用于web应用的能量消耗优化
WO2011123859A1 (en) * 2010-04-02 2011-10-06 Skyfire Labs, Inc. Assisted hybrid mobile browser
US20120246570A1 (en) * 2011-03-22 2012-09-27 International Business Machines Corporation Managing a portal application
US20130084000A1 (en) * 2011-09-30 2013-04-04 caeBay Inc. Complementary item recommendations using image feature data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
知乎用户: "Youtube的广告看3-5秒左右就可以跳过,这些广告真的会有人看完吗,大于5秒的广告岂不是基本没什么意义", 《HTTPS://WWW.ZHIHU.COM/QUESTION/20946896》 *
郭冰鉴等: "基于函数截获的游戏内置广告集成技术", 《计算机应用与软件》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105759938A (zh) * 2016-02-18 2016-07-13 西安三星电子研究有限公司 移动终端的节能方法和设备
CN105759938B (zh) * 2016-02-18 2019-02-19 西安三星电子研究有限公司 移动终端的节能方法和设备
CN106095460A (zh) * 2016-06-21 2016-11-09 上海联彤网络通讯技术有限公司 实现终端内嵌浏览器优化网页加载的系统及方法
CN106095460B (zh) * 2016-06-21 2019-05-07 上海联彤网络通讯技术有限公司 实现终端内嵌浏览器优化网页加载的系统及方法
CN106445496A (zh) * 2016-08-26 2017-02-22 北京小米移动软件有限公司 浏览器页面中定时器的设置方法及装置
WO2018153195A1 (zh) * 2017-02-27 2018-08-30 华为技术有限公司 一种移动终端的省电方法及相关设备
CN108513343A (zh) * 2017-02-27 2018-09-07 华为软件技术有限公司 一种移动终端的省电方法及相关设备
CN111399732A (zh) * 2020-03-13 2020-07-10 深圳市珍爱云信息技术有限公司 网页截图方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
EP2997504B1 (en) 2019-07-31
US20190138077A1 (en) 2019-05-09
EP2997504A2 (en) 2016-03-23
US10209760B2 (en) 2019-02-19
US20140365794A1 (en) 2014-12-11
WO2014200870A2 (en) 2014-12-18
WO2014200870A3 (en) 2015-02-19
US11036278B2 (en) 2021-06-15
CN105339932B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN105339932A (zh) 浏览器驱动的功率节省
US10740945B2 (en) Animation control methods and systems
US9756140B2 (en) Tracking user behavior relative to a network page
KR102047568B1 (ko) 웹페이지 렌더링 시간 측정 기법
US9813479B2 (en) Browser with video display history
US9658758B1 (en) Online information system with continuous scrolling and position correction
US20160188551A1 (en) System for clipping webpages
US10353721B2 (en) Systems and methods for guided live help
EP2179583B1 (en) Method and apparatus for automated content marking
US20140229268A1 (en) Comprehensive measurement of the opportunity to see online advertisements
CN108509589B (zh) 信息流展示方法及系统、计算机可读存储介质
US20120089899A1 (en) Method and system for redisplaying a web page
US20150169509A1 (en) Web page rendering on wireless devices
KR101547918B1 (ko) 광고 차단 방법 및 장치
WO2024169519A1 (zh) 界面交互方法、容器组件、计算机可读存储介质及设备
WO2016118142A1 (en) In-line editor insertion
US20120216132A1 (en) Embedding User Selected Content In A Web Browser Display
Sarkis et al. A multi-screen refactoring system for video-centric web applications
WO2022152156A1 (zh) 一种历史浏览内容处理方法、装置、电子设备和存储介质
JP2011118497A (ja) ガイドライン管理装置及びガイドライン管理プログラム
CN112988255B (zh) 数据处理方法、装置及计算机可读存储介质
US9858250B2 (en) Optimized read/write access to a document object model
WO2018063837A1 (en) Video generation of project revision history
KR102191458B1 (ko) 웹 데이터 수집 장치 및 방법
CN114428582B (zh) 一种图像生成方法及电子设备

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