Dynamic resource usage web browser

By identifying and adjusting high-consumption areas in web browsers, and dynamically adjusting rendering and hiding, the problem of increased resource usage in modern web pages is solved, improving rendering efficiency and user experience.

JP7762484B2Active Publication Date: 2025-10-30INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024503513
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-22
Filing Date
2022-09-19
Publication Date
2025-10-30
Estimated Expiration
2042-09-19

AI Technical Summary

Technical Problem

In existing technologies, the increased resource usage of modern web pages leads to low browser rendering and transmission efficiency, making it impossible to effectively adjust resource consumption.

Method used

By identifying the resource consumption rate and display area of ​​each region in the web browser, the rendering of high-consuming regions is dynamically adjusted, thresholds are set to control resource usage, and the rendering and hiding of display areas are dynamically adjusted.

Benefits of technology

It effectively reduces browser resource consumption, improves rendering efficiency, and ensures that the user experience is not affected.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007762484000001
    Figure 0007762484000001
  • Figure 0007762484000002
    Figure 0007762484000002
  • Figure 0007762484000003
    Figure 0007762484000003
Patent Text Reader

Abstract

A processor retrieves a web page for rendering in a web browser. The processor identifies at least one zone of the web page. The processor determines a resource consumption rate of the at least one zone. The processor determines a display area of ​​the at least one zone. The processor determines a consumption rate based on the resource consumption rate and the display area of ​​the at least one zone. In response to the consumption rate exceeding a threshold when rendering the web page in the web browser, the processor disables rendering of the at least one zone.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of web browsers, and more particularly to dynamic rendering of web pages based on resource usage.

[0002] A web browser is a program that retrieves web-based content, such as HyperText Markup Language (HTML) documents. A web browser converts the content of HTML documents into machine instructions to generate web pages on a display device for user interaction. Modern web pages typically require custom scripts and other elements to create a more media-rich user experience, which in turn increases the resource usage of rendering and delivering web pages to users. Summary of the Invention

[0003] Embodiments of the present invention provide a method, system, and program product for dynamically rendering a web page based on resource usage. A processor retrieves a web page for rendering in a web browser. The processor identifies at least one zone of the web page. The processor determines a resource consumption rate of the at least one zone. The processor determines a display area of ​​the at least one zone. The processor determines a consumption rate based on the resource consumption rate and the display area of ​​the at least one zone. When rendering the web page in the web browser, the processor disables rendering of the at least one zone in response to the consumption rate exceeding a threshold. [Brief explanation of the drawings]

[0004] [Figure 1] FIG. 1 is a functional block diagram illustrating a networked environment in accordance with an exemplary embodiment of the present invention.

[0005] [Figure 2]2 illustrates a process for operating a web browser on a computing device in the environment of FIG. 1 in accordance with an exemplary embodiment of the present invention.

[0006] [Figure 3A] 1 illustrates an example implementation of a web browser that invalidates zones of a web page based on consumption rate. [Figure 3B] 1 illustrates an example implementation of a web browser that invalidates zones of a web page based on consumption rate.

[0007] [Figure 4] 1 illustrates a block diagram of components of a computing device running a web browser in accordance with an exemplary embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0008] While solutions exist for adjusting resource consumption of web pages, such previous solutions require the web page itself to adjust to the needs of the web browser, such as presenting a mobile-formatted web page to a device with a slow network connection. Embodiments of the present invention recognize that by determining the resource usage of various zones of a web page, the web browser can locally disable zones with high resource usage. Furthermore, embodiments of the present invention can respond to changes in local device resource usage and modify the web page depending on the device's current workload or constraints.

[0009] The present invention may be a system, method and / or computer program product integrated at any possible level of technical detail. A computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0010] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM, or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves on which instructions are recorded, and any suitable combination thereof. As used herein, computer-readable storage media should not be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.

[0011] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0012] The computer-readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk® or C++, and procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may run entirely on the user's computer, as a standalone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions to personalize the electronic circuitry by utilizing state information of the computer-readable program instructions to perform aspects of the present invention.

[0013] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0014] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, whereby the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus and / or other device to function in a particular manner, whereby the computer-readable storage medium having instructions stored therein has an article of manufacture including instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0015] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a computer-implemented process, whereby the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0016] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be realized as a single step, executed concurrently, substantially concurrently, partially, or fully in an overlapping manner, or the blocks may possibly be executed in reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or executes a combination of dedicated hardware and computer instructions.

[0017] The present invention will now be described in detail with reference to the figures. Figure 1 is a functional block diagram illustrating a networked environment (generally designated 100) according to one embodiment of the present invention. Networked environment 100 includes a web server 110 and a user device 120 connected via a network 130. Web server 110 includes a web host program 112 and website data 114. User device 120 includes a web browser 122, zone data 124, and consumption data 126.

[0018] In various embodiments of the present invention, web server 110 and user device 120 are each computing devices that may be standalone devices, servers, laptop computers, tablet computers, netbook computers, personal computers (PCs), or desktop computers. In another embodiment, web server 110 or user device 120 represent computing systems that utilize clustered computers and components that function as a single pool of seamless resources. In general, web server 110 or user device 120 may be any computing device or combination of devices that have access to website data 114, zone data 124, and consumption data 126 and are capable of running web host program 112 and web browser 122. Web server 110 and user device 120 may include internal and external hardware components, as shown and described in further detail with respect to FIG. 4 .

[0019] In this exemplary embodiment, web host program 112 and website data 114 are stored on web server 110, while web browser 122, zone data 124, and consumption data 126 are stored on user device 120. However, in other embodiments, web host program 112, website data 114, web browser 122, zone data 124, and consumption data 126 may be stored externally and accessed through a communications network, such as network 130. Network 130 may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and may include wired, wireless, fiber optic, or any other connection known in the art. In general, network 130 may be any combination of connections and protocols that support communication between web server 110 and user device 120 in accordance with the desired embodiment of the present invention.

[0020] In various embodiments, the web host program 112 of the web server 110 distributes web page data 114 from the web host program 112 over the network 130 to one or more users requesting a web page for delivery to the web browser 122 of the user device 120. For clarity, the following description is based on a single session between a user and the web host program 112, although those skilled in the art will appreciate that the web host program 112 can provide a variety of web pages to multiple users. The web page data 114 includes any hypertext markup language (HTML) data along with any images, audio, video, or media needed to provide to or otherwise instruct the web browser 122 to retrieve for purposes of rendering and constructing the web page on the user device 122. Additionally, the web page data 114 may also include code, scripts, or instructions for execution to generate any custom components of the web page provided to the user. Custom components include non-HTML supported elements, such as JavaScript, that are used to create custom portions of a web page, such as video players, custom forms, and other interactive elements.

[0021] In various embodiments, a user instructs web browser 122 to retrieve a web page from web host program 112, such as by typing a uniform resource location (URL) address or by clicking a URL hyperlink from another web page (i.e., as a search result in a search engine) or from a bookmark. Once the request is routed and a connection is established to web server 110 and user device 120, web browser 122 sends a request to retrieve web page data 114 associated with the URL from web host program 112. In response, web host program 112 transmits web page data 114 to the requesting web browser 122.

[0022] Once the web browser retrieves the web page from web page data 114, web browser 122 parses and interprets the underlying HTML, executes or performs operations associated with any custom components, and renders the web page to user device 120. Rendering a web page is the process of taking the underlying HTML and custom components retrieved from web page data 114 and converting the HTML and any custom components into machine instructions that are executed by user device 120 in order for the website to display properly on user device 120.

[0023] In various embodiments, before rendering a web page, the web browser 122 evaluates the retrieved web page data 114 to identify one or more zones of the web page. As used herein, a zone is any component or group of components of a web page. A component may include a section or portion of the underlying HTML from the web page, and may also include custom components and supporting blocks of code or script associated with the custom components. Exemplary HTML components include headings, body text, paragraphs, and other tags (i.e., <head>, <body>, <section ... <h1>,, or ), or any HTML element. Custom components are often supplied as scripts and <script>タグが、この要素をレンダリングするために実行する必要があるカスタムコード又はスプリプトを示す。ウェブページデータ114において見出される様々なタグに基づいて、ウェブブラウザ122は、レンダリングされるべきウェブページの1つ又は複数のゾーンを識別する。いくつかのシナリオでは、ウェブブラウザ122は、2つ以上のHTML要素を1つゾーンにグループ化して良い。例えば、複数の連続するタグは、連続する一連のパラグラフを示してよい。そのようなシナリオでは、ウェブブラウザ122は、連続するタグを単一ゾーンにグループ化する。

[0024] 様々な実施形態において、ウェブブラウザ122は、ユーザに対してレンダリングされる前に(すなわち、ウェブサイトがユーザに対して表示される前に)、ウェブページの消費マップを判定する。識別されたゾーン、及び各ゾーンにおける対応するHTML又はカスタムコンポーネントに基づいて、ウェブブラウザ122は、各ゾーンのリソース消費率を判定する。所与のゾーンについて、ウェブブラウザ122は、ゾーン内に含まれるHTML要素又はカスタムコンポーネントのタイプに基づいて、各ゾーンのリソース使用量を判定する。消費量データ126は、ウェブページにおける消費速度又はゾーンに関してウェブブラウザ122がなした任意の判定を含む。いくつかのシナリオでは、消費量データ126は、要素又はゾーンのタイプごとにカテゴリ化され、かつ、ユーザデバイス110の動作特性、例えば、CPU使用量、RAM使用量、帯域幅使用量、電力使用量などに分類される。そのようなシナリオでは、ウェブブラウザ122は各要因の消費速度を含み、これは、その要素がより高いCPU又はRAM消費速度を有するかどうかを示す。

[0025] いくつかの実施形態において、ウェブブラウザ122は、消費量データ126によって提供され得る要素及びコンポーネントのタイプごとに予め定められた消費速度を有する。例えば、又はパラグラフテキスト、要素、又はグループは、消費速度が小さく(例えば、0.1)、一方で、カスタムビデオプレーヤ要素は消費速度が大きい(例えば、0.8)。いくつかのシナリオでは、同様の要素の他のウェブサイト上での以前のレンダリングに基づき、ウェブブラウザ122は、同様のコンテンツを他のウェブサイト上でレンダリングしたときのユーザデバイス120のリソース使用量の履歴のメトリックスに基づいて消費速度を判定する。

[0026] 様々な実施形態において、ウェブブラウザ122は、表示エリア又は各ゾーンを判定する。表示エリアは、レンダリングされたウェブページにおいてゾーンが網羅する、表示モニタの空間全体又は一部である。目標表示解像度、ウィンドウサイズ、及び他の要因に基づいて、ウェブブラウザ122は、各ゾーンの表示エリアを判定し、各ゾーンの相対的サイズに基づいて、正規化した表示エリアを各ゾーンに割り当てる(例えば、サイズは0から1.0の範囲にわたり、1.0が最大のゾーンの表示エリアである)。いくつかの実施形態において、ウェブブラウザ122は、HTMLがサイズを規定しない場合、ビデオプレーヤのためのコードのように、1つ又は複数のカスタム要素を実行してレンダリングする必要がある場合がある。そのような実施形態において、ウェブブラウザは、要素の表示エリアを判定するために、要素を無効化する前に要素をレンダリングしてよい。そのようなシナリオでは、ウェブブラウザ122は、ゾーンの表示エリアが判定されるまで、レンダリングされたビューをユーザに表示しなくてよい。

[0027] 様々な実施形態において、ウェブブラウザ122は、各ゾーンの消費率を判定する。各ゾーンの消費速度(すなわち、比率における分子)及び表示エリア(すなわち、比率における分母)の間の比率に基づいて、ウェブブラウザ122は消費率を判定する。消費率は、要素が占めるウェブページの全体的な部分と比較した場合の、要素が使用するリソースの量を表す。そのため、他のより小さいがよりリソースが集中したゾーン、例えば、ニュース記事の側部に埋め込まれたビデオ広告プレーヤと比較した場合、より大きいサイズのエリア及びリソースの集中が少ないゾーン(例えば、テキスト又は静止画像)をウェブブラウザ122によって識別することができる。ビデオプレーヤは、ウェブページの全体的にリソースが集中した部分である一方、ビデオプレーヤ専用のページの場合(すなわち、ライブストリーミングウェブサイト又はビデオホスティングウェブサイト)、リソース使用量が一定のままであるが表示エリアが増加することによって比率が低下するため、ウェブブラウザ122は、より低い消費率を割り当てる。そのため、本発明の実施形態は、より小さいがより集中したゾーンを削除しながら、ウェブページのうちの、より小さいが、ウェブページの主要な部分を維持するリソースがより集中した部分、例えば本文を選択的に無効化することができ、それによって、ウェブブラウザ122のワークロードを減らす一方で、依然としてウェブページをユーザに配信することができる。

[0028] 様々な実施形態において、ウェブブラウザ122は、ウェブページの各ゾーンのそれぞれの消費率に基づいてゾーンを選択的に有効化又は無効化する。いくつかのシナリオでは、ウェブブラウザ122は、ウェブページにおいてどのゾーンが有効化されて、ユーザによる視聴のためにレンダリングされるか、又は無効化されて、ユーザによる視聴のためにレンダリングされないかを規定する、予め定められた又はユーザにより定められた閾値比率を有する。消費率が閾値を超える場合、ウェブブラウザ122は、ゾーンがレンダリングされないように無効化する。消費率が閾値を下回る場合、ウェブブラウザ122は、図3A及び3Bに関して説明したように、ゾーンを有効化し、次に、当該有効化されたゾーンを,ユーザによる視聴のためにレンダリングする。

[0029] いくつかの実施形態において、ウェブブラウザ122は、進行形の方式でリソース使用量を監視し、変化する消費量、又は生じる表示エリアの改変、例えば、ゾーンの表示エリアを変化させ得る、ユーザによるウェブブラウザ122のアプリケーションウィンドウのサイズ変更に基づいて、ゾーンを選択的に有効化及び無効化してよい。これらの実施形態において、ウェブブラウザ122は、ユーザデバイス110によって利用されているCPU、RAM、及び他の使用量のメトリックスを示す、ユーザデバイス110の動作特性を収集し、結果を消費量データ126に記憶する。ウェブブラウザ122がユーザデバイス110からの重い使用量データを検出した場合、ウェブブラウザは、デバイスのワークロードの増加に対応するために、ゾーンを無効化するための閾値量を調整することができる。本明細書で説明するように、ウェブブラウザ122は、ウェブページのゾーンを識別し、それぞれのゾーンのリソース消費量に部分的に基づいて各ゾーンを選択的に有効化する。他のシナリオでは、ウェブブラウザ122に関して本明細書で説明する機能はまた、別のプログラム又はブラウザ拡張によって実施されてよい。そのようなシナリオでは、他のプログラム又は拡張は、本明細書で説明される機能を実施し、次に、ウェブページをレンダリングするときにどのゾーンを有効化又は無効化するかについてウェブブラウザ122に指示する。

[0030] 図2は、図1の環境内のユーザデバイス120上のウェブブラウザ122の動作プロセス(概して200と指定される)を示す。プロセス202において、ウェブブラウザ122はウェブページを取得する。ほとんどのシナリオでは、ウェブブラウザ122は、ウェブホストプログラム112からウェブページを要求し、ウェブホストプログラム112は転じて、要求に応じてウェブページデータ114を配信する。他のシナリオでは、ウェブブラウザ122は、ユーザデバイス120上に記憶されたウェブサイトのローカルコピーなど、ウェブページデータ114の別のロケーションへと指示されてよい。当業者は、ウェブページデータ114が、本発明から逸脱することなく任意のデバイス上で記憶及び取得され得ることを理解するであろう。

[0031] プロセス204において、ウェブブラウザ122は、取得したウェブページから少なくとも1つのゾーンを識別する。基礎となるHTML、CSS、及びカスタムスクリプトなどに基づき、ウェブブラウザ122は、ウェブページの要素に基づいてゾーンを識別する。いくつかのシナリオでは、ウェブブラウザ122は、繰り返されるパラグラフ要素など、同様の要素を単一のゾーンにグループ化してよい。プロセス206において、ウェブブラウザ122は、ウェブページにおける少なくとも1つのゾーンの消費量データ126を判定する。要素又はスプリプトのタイプに基づいて、ウェブブラウザ122は、ゾーンがウェブブラウザ122によってレンダリングされた場合にユーザデバイス120によって生じられるであろうリソース消費量を判定する。リソース使用量の量が大きい場合、ウェブブラウザ122は、ゾーンに対してより高い消費速度を割り当てる。プロセス208において、ウェブブラウザ122は、少なくとも1つのゾーンの表示エリアを判定する。ユーザデバイスの表示寸法及び解像度に基づいて、ウェブブラウザ122は、ゾーンがレンダリングされた場合の各ゾーンの表示エリアを判定する。いくつかのシナリオでは、ウェブブラウザ122は、各ゾーンの表示値エリアを正規化し、最大のものを1.0に設定し、より小さいゾーンは最大のゾーンの縮尺で設定される。

[0032] プロセス210において、ウェブブラウザ122は、ウェブページの少なくとも1つのゾーンの消費率を判定する。消費率は、少なくとも1つのゾーンの消費速度(プロセス206)及び表示エリア(プロセス208)の間の関係である。消費率は、ゾーンが占める画面の実際の面積の量と比較したときに、リソース消費速度が相対的に高いウェブページのゾーンを示す。より大きく、リソースの集中が少ないゾーンは、より動的かつリソースが集中しているがより小さいゾーン(ウェブページの下の角部に表示されるインタラクティブなチャットボットなど)と比較して、通常、より少ないリソースを必要とする静的要素(ウェブサイト上のヘッダなど)である。

[0033] 判定プロセス212において、ウェブブラウザ122は、少なくとも1つのゾーンの消費率を閾値と比較する。閾値は、ウェブブラウザ122によって予め定められていてよく、又は、ユーザにより定められている又は別様にユーザによって変更されてよい。いくつかのシナリオでは、ウェブブラウザ122は、ユーザデバイス120の現在の動作メトリックスに基づいて閾値を変更してよい。ユーザデバイス120が現在、別のプロセスに起因して重い計算負荷下にある場合、ウェブブラウザ122は、ウェブページのレンダリングのリソース消費をさらに制限するために閾値を下げてよい。

[0034] 消費率が閾値を超得た場合(判定プロセス212のはいの分岐)、ウェブブラウザ122は、ゾーンがレンダリングしないように無効化し、それによって、ウェブブラウザ122のリソース消費を減らす(プロセス214)。消費率が閾値より低い場合(判定プロセス212のいいえの分岐)、ウェブブラウザ122は、レンダリングのためにゾーンを有効化する(プロセス216)。プロセス218において、ウェブブラウザ122は、有効化されたゾーンをレンダリングする。いくつかの実施形態において、ユーザがウェブページ要求したときに(例えば、プロセス202)、ウェブブラウザ122は、ウェブページをロードする前にプロセス202~218を実施する。他の実施形態において、ウェブブラウザ122は、ユーザがユーザデバイス120上でウェブページをブラウズ又は視聴している間でさえも、プロセス202~218を連続的に実施する。ユーザデバイス120の使用量メトリックスが監視されるシナリオでは、ウェブブラウザ122は、ユーザがウェブページを視聴する間に、消費量データ(プロセス206)、表示エリア(プロセス208)、消費率(プロセス210)、又は閾値(判定プロセス212)を調整してよい。そのようなシナリオにより、ウェブブラウザ122が、ユーザデバイス120のワークロードに基づいてゾーンを動的に有効化及び無効化すること(プロセス214及び216)が可能になる。

[0035] 図3A及び3Bは、消費率に基づいてウェブページおゾーンを無効化するウェブブラウザ122の例示的な実装を示す。図3Aは、取得したウェブページデータ114に従ってレンダリングされた(すなわち、いずれのゾーンも無効化されずに)場合のウェブページを示すネイティブなウェブページ310を示す。図3Aは、ヘッダ312、記事本文314、画像315、ライブビデオプレーヤ316、及びスコアボードウィジェット318を含むネイティブゾーン312~318を含む。本明細書で説明されるように、ウェブブラウザ122は、ネイティブゾーン312~318をレンダリングするのに使用されるHTML、CSS、コード、及びスプリプトなどに基づいてネイティブゾーン312~318を識別する。図3Bは、ネイティブゾーン312~318に対応する最適化されたゾーン322~328を含む最適化されたウェブページ320を示す。

[0036] ヘッダ312について、ウェブブラウザ122は、このゾーンは主に、テキストなどの静的要素で構成されているため、このゾーンは低い消費速度を有し、相対的に小さい表示エリアを有するものと判定する。そのため、ウェブブラウザ122は、ヘッダ312が低い消費速度を有し、したがって、図3Bにおいて最適化されたヘッダ322としての表示に最適であると判定する。同様に、ウェブブラウザ122は、このゾーンが主にテキストなどの静的要素で構成されているため記事本文314が低い消費速度を有し、したがって、図3Bにおける最適化された記事本文324としての表示に最適であると判定する。

[0037] 画像315について、ウェブブラウザは、レンダリングに要するプロセス及び復元に起因して、画像に対してより高い消費速度を割り当てる。しかしながら、画像の、他のゾーンと比べてより大きい表示エリアにより、全体的な消費率は閾値を下回るよう低下される。そのため、ウェブブラウザ122は、画像315がより低い消費速度を有し、したがって、図3Bにおける最適化された画像325としての表示に最適であると判定する。当業者は、表示エリアに対する変更に基づいて、画像315がレンダリングのための閾値を上回ると判定されてよいことを理解するであろう。例えば、画像315が、ゾーンの消費速度が高いことを意味する高解像度の画像であり、相対的に小さい表示エリアを有する場合、ウェブブラウザ122は、与えられた表示エリアに対して画像315のリソースが重すぎると判定し、それによって、最適化されたウェブページ320にゾーンを含めない。

[0038] ライブビデオプレーヤ316について、ウェブブラウザ122は、このゾーンが、高いリソース使用量、及び、ウェブページ310上にビデオプレーヤが有する相対的に小さい表示エリアの両方に起因して、閾値を上回る消費速度を有すると判定する。そのため、ウェブブラウザ122は、最適化されたゾーン326におけるレンダリングからライブビデオプレーヤ316を削除する。ビデオプレーヤが表示エリアを有し、ウェブページ310上でより目立つものであった場合、ウェブブラウザ122は、最適化されたゾーン326にビデオプレーヤを含めてよい。同様に、ウェブブラウザ122は、スコアボードウィジェット318が相対的により高い消費速度及び相対的により低い表示エリアを有すると判定する。そのため、ウェブブラウザ122は、最適化されたゾーン328におけるレンダリングからスコアボードウィジェット318を削除する。

[0039] 図4は、本発明の例示的な実施形態による、ウェブサーバ110及びユーザデバイス120のコンポーネントのブロック図400を示す。図4は、1つの実装の図示のみを提供しており、異なる実施形態が実装され得る環境に関していかなる限定も示唆していないことを理解されたい。図示された環境に対する多くの修正が行われ得る。

[0040] ウェブサーバ110及びユーザデバイス120は各々、両方とも、コンピュータプロセッサ404、メモリ406、永続ストレージ408、通信ユニット410、及び入力 / 出力(I / O)インタフェース412の間の通信を提供する通信ファブリック402を含む。通信ファブリック402は、プロセッサ(例えば、マイクロプロセッサ、通信及びネットワークプロセッサなど)、システムメモリ、周辺デバイス、及びシステム内の任意の他のハードウェアコンポーネントの間で、データ及び / 又は制御情報の受け渡しを行うように設計された任意のアーキテクチャを用いて実装され得る。例えば、通信ファブリック402は、1つ又は複数のバスを用いて実装され得る。

[0041] メモリ406及び永続ストレージ408は、コンピュータ可読記憶媒体である。この実施形態において、メモリ406は、ランダムアクセスメモリ(RAM)414及びキャッシュメモリ416を含む。概して、メモリ406は、任意の適切な揮発性又は不揮発性のコンピュータ可読記憶媒体を含み得る。

[0042] ウェブホストプログラム112、ウェブサイトデータ114、ウェブブラウザ122、ゾーンデータ124、及び消費量データ126は、メモリ406のうちの1つ又は複数のメモリを介した、それぞれのコンピュータプロセッサ404の1つ又は複数による実行及び / 又はアクセスのために永続ストレージ408に記憶される。本実施形態において、永続ストレージ408は、磁気ハードディスクドライブを含む。代替的に、又は磁気ハードディスクドライブに加えて、永続ストレージ408は、固体ハードドライブ、半導体ストレージデバイス、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM)、フラッシュメモリ、又はプログラム命令もしくはデジタル情報を格納できる任意の他のコンピュータ可読記憶媒体を含んでよい。

[0043] 永続ストレージ408によって使用される媒体は、取り外し可能であってもよい。例えば、取り外し可能ハードドライブを永続ストレージ408に使用してもよい。他の例は、光学ディスク及び磁気ディスク、サムドライブ、ならびに、永続ストレージ408の一部でもある別のコンピュータ可読記憶媒体への転送のためにドライブ内に挿入されるスマートカードを含む。

[0044] これらの例における通信ユニット410は、他のデータ処理システム又はデバイス(ネットワーク130のリソースを含む)との通信を行う。これらの例において、通信ユニット410は1つ又は複数のネットワークインターフェースカードを含む。通信ユニット410は、物理通信リンクと無線通信リンクのいずれか一方又は両方を使用して通信を提供することができる。ウェブホストプログラム112、ウェブサイトデータ114、ウェブブラウザ122、ゾーンデータ124、及び消費量データ126は、通信ユニット410を通して永続ストレージ408にダウンロードされてよい。

[0045] I / Oインタフェース412は、ウェブサーバ110又はユーザデバイス120に接続され得る他のデバイスとの間のデータの入力及び出力を可能にする。例えば、I / Oインタフェース412は、キーボード、キーパッド、タッチスクリーン、及び / 又は他の何らかの適切な入力デバイスなどの外部デバイス418への接続を提供することができる。また、外部デバイス418は、例えば、サムドライブ、ポータブル光学ディスク又はポータブル磁気ディスク及びメモリカードなどのポータブルコンピュータ可読記憶媒体を含み得る。本発明の実施形態を実践するのに使用されるソフトウェア及びデータ、例えば、ウェブホストプログラム112、ウェブサイトデータ114、ウェブブラウザ122、ゾーンデータ124、及び消費量データ126は、そのようなポータブルコンピュータ可読記憶媒体上に格納されることができ、I / Oインタフェース412を介して永続ストレージ408上にロードされることができる。I / Oインタフェース412は、ディスプレイ420にも接続する。

[0046] ディスプレイ420は、データをユーザに表示するメカニズムを提供し、例えば、コンピュータモニタ又はテレビ画面であってよい。

[0047] 本明細書において説明されるプログラムは、本発明の具体的な実施形態においてそれらが実装される用途に基づき識別される。しかしながら、本明細書における任意の特定のプログラム名称は、単に便宜上の目的で使用されており、したがって、本発明は、そのような名称によって識別及び / 又は示唆される任意の特定の用途のみにおいて使用することに限定されるべきでないことが理解されるべきである。(他の可能な項目)(項目1)ウェブブラウザにおけるレンダリングのためのウェブページを1つ又は複数のプロセッサによって取得する段階;前記1つ又は複数のプロセッサによって、前記ウェブページの少なくとも1つのゾーンを識別する段階;前記1つ又は複数のプロセッサによって、前記少なくとも1つのゾーンのリソース消費速度を判定する段階;前記1つ又は複数のプロセッサによって、前記少なくとも1つのゾーンの表示エリアを判定する段階;前記少なくとも1つのゾーンの前記リソース消費速度及び前記表示エリアに基づいて、前記1つ又は複数のプロセッサによって消費率を判定する段階;及び前記ウェブブラウザにおいて前記ウェブページをレンダリングするときに、前記消費率が閾値を超えたことに応答して、前記1つ又は複数のプロセッサによって前記少なくとも1つのゾーンのレンダリングを無効化する段階を備える、方法。(項目2)前記消費率が、前記少なくとも1つのゾーンの前記リソース消費速度に直接対応する、項目1に記載の方法。(項目3)前記消費率が、前記少なくとも1つのゾーンの前記表示エリアに間接的に対応する、項目1または2に記載の方法。(項目4)前記閾値が、前記ウェブブラウザを実行しているデバイスの動作特性に少なくとも部分的に基づいて変化する、項目1から3のいずれか一項に記載の方法。(項目5)前記ウェブブラウザを実行している前記デバイスの前記動作特性が、以下の:前記デバイスのCPU使用量、前記デバイスのRAM使用量、前記デバイスの帯域幅使用量、又は前記デバイスの電力使用量のうちの1つ又は複数を含む、項目4に記載の方法。(項目6)前記少なくとも1つのゾーンの前記リソース消費速度が、識別された前記ゾーンに対応する前記ウェブページのハイパーテキストマークアップ言語(HTML)の一部に少なくとも部分的に基づく、項目1から5のいずれか一項に記載の方法。(項目7)前記少なくとも1つのゾーンの前記リソース消費速度が、識別された前記ゾーンに対応する前記ウェブページのカスタムコンポーネントに少なくとも部分的に基づく、項目1から6のいずれか一項に記載の方法。(項目8)1つ又は複数のコンピュータ可読記憶媒体、及び前記1つ又は複数のコンピュータ可読記憶媒体に記憶されたプログラム命令を備え、前記プログラム命令が:ウェブブラウザにおけるレンダリングのためのウェブページを取得するためのプログラム命令;前記ウェブページの少なくとも1つのゾーンを識別するためのプログラム命令;前記少なくとも1つのゾーンのリソース消費速度を判定するためのプログラム命令;前記少なくとも1つのゾーンの表示エリアを判定するためのプログラム命令;前記少なくとも1つのゾーンの前記リソース消費速度及び前記表示エリアに基づいて消費率を判定するためのプログラム命令;及び前記ウェブブラウザにおいて前記ウェブページをレンダリングするときに、前記消費率が閾値を超えたことに応答して、前記少なくとも1つのゾーンのレンダリングを無効化するためのプログラム命令を含む、コンピュータプログラム製品。(項目9)前記消費率が、前記少なくとも1つのゾーンの前記リソース消費速度に直接対応する、項目8に記載のコンピュータプログラム製品。(項目10)前記消費率が、前記少なくとも1つのゾーンの前記表示エリアに間接的に対応する、項目8または9に記載のコンピュータプログラム製品。(項目11)前記閾値が、前記ウェブブラウザを実行しているデバイスの動作特性に少なくとも部分的に基づいて変化する、項目8から10のいずれか一項に記載のコンピュータプログラム製品。(項目12)前記ウェブブラウザを実行している前記デバイスの前記動作特性が、以下の:前記デバイスのCPU使用量、前記デバイスのRAM使用量、前記デバイスの帯域幅使用量、又は前記デバイスの電力使用量のうちの1つ又は複数を含む、項目11に記載のコンピュータプログラム製品。(項目13)前記少なくとも1つのゾーンの前記リソース消費速度が、識別された前記ゾーンに対応する前記ウェブページのハイパーテキストマークアップ言語(HTML)の一部に少なくとも部分的に基づく、項目8から12のいずれか一項に記載のコンピュータプログラム製品。(項目14)前記少なくとも1つのゾーンの前記リソース消費速度が、識別された前記ゾーンに対応する前記ウェブページのカスタムコンポーネントに少なくとも部分的に基づく、項目8から13のいずれか一項に記載のコンピュータプログラム製品。(項目15)1つ又は複数のコンピュータプロセッサ;1つ又は複数のコンピュータ可読記憶媒体;及び前記1つ又は複数のプロセッサのうちの少なくとも1つによる実行のための、前記1つ又は複数のコンピュータ可読記憶媒体に記憶されたプログラム命令を備え、前記プログラム命令が:ウェブブラウザにおけるレンダリングのためのウェブページを取得するためのプログラム命令;前記ウェブページの少なくとも1つのゾーンを識別するためのプログラム命令;前記少なくとも1つのゾーンのリソース消費速度を判定するためのプログラム命令;前記少なくとも1つのゾーンの表示エリアを判定するためのプログラム命令;前記少なくとも1つのゾーンの前記リソース消費速度及び前記表示エリアに基づいて消費率を判定するためのプログラム命令;及び前記ウェブブラウザにおいて前記ウェブページをレンダリングするときに、前記消費率が閾値を超えたことに応答して、前記少なくとも1つのゾーンのレンダリングを無効化するためのプログラム命令を含む、コンピュータシステム。(項目16)前記消費率が、前記少なくとも1つのゾーンの前記リソース消費速度に直接対応する、項目15に記載のコンピュータシステム。(項目17)前記消費率が、前記少なくとも1つのゾーンの前記表示エリアに間接的に対応する、項目15または16に記載のコンピュータシステム。(項目18)前記閾値が、前記ウェブブラウザを実行しているデバイスの動作特性に少なくとも部分的に基づいて変化する、項目15から17のいずれか一項に記載のコンピュータシステム。(項目19)前記ウェブブラウザを実行している前記デバイスの前記動作特性が、以下の:前記デバイスのCPU使用量、前記デバイスのRAM使用量、前記デバイスの帯域幅使用量、又は前記デバイスの電力使用量のうちの1つ又は複数を含む、項目18に記載のコンピュータシステム。(項目20)前記少なくとも1つのゾーンの前記リソース消費速度が、識別された前記ゾーンに対応する前記ウェブページのハイパーテキストマークアップ言語(HTML)の一部に少なくとも部分的に基づく、項目15から19のいずれか一項に記載のコンピュータシステム。< / script> < / h1>

Claims

1. retrieving, by one or more processors, a web page for rendering in a web browser; identifying, by the one or more processors, at least one zone of the web page; determining, by the one or more processors, a resource consumption rate of the at least one zone; determining, by the one or more processors, a display area of ​​the at least one zone; determining, by the one or more processors, a consumption rate based on the resource consumption rate and the display area of ​​the at least one zone; and disabling, by the one or more processors, rendering of the at least one zone in response to the consumption rate exceeding a threshold when rendering the web page in the web browser. A method comprising:

2. The method of claim 1 , wherein the consumption rate corresponds directly to the resource consumption rate of the at least one zone.

3. The method of claim 1 , wherein the consumption rate corresponds indirectly to the display area of ​​the at least one zone.

4. The method of claim 1 , wherein the threshold varies based at least in part on operational characteristics of a device running the web browser.

5. 5. The method of claim 4, wherein the operational characteristics of the device running the web browser include one or more of the following: CPU usage of the device, RAM usage of the device, bandwidth usage of the device, or power usage of the device.

6. The method of claim 1 , wherein the resource consumption rate of the at least one zone is based at least in part on a portion of the HyperText Markup Language (HTML) of the web page corresponding to the identified zone.

7. The method of claim 1 , wherein the resource consumption rate of the at least one zone is based at least in part on a custom component of the web page corresponding to the identified zone.

8. A program comprising: program instructions for retrieving a web page for rendering in a web browser; program instructions for identifying at least one zone of the web page; program instructions for determining a resource consumption rate of the at least one zone; program instructions for determining a display area of ​​said at least one zone; program instructions for determining a consumption rate based on the resource consumption rate and the display area of ​​the at least one zone; and program instructions for disabling rendering of the at least one zone in response to the consumption rate exceeding a threshold when rendering the web page in the web browser; a computer program comprising:

9. The computer program product of claim 8 , wherein the consumption rate corresponds directly to the resource consumption rate of the at least one zone.

10. The computer program of claim 8 , wherein the consumption rate corresponds indirectly to the display area of ​​the at least one zone.

11. The computer program product of claim 8 , wherein the threshold varies based at least in part on operational characteristics of a device running the web browser.

12. 12. The computer program product of claim 11, wherein the operational characteristics of the device running the web browser include one or more of the following: CPU usage of the device, RAM usage of the device, bandwidth usage of the device, or power usage of the device.

13. 9. The computer program product of claim 8, wherein the resource consumption rate of the at least one zone is based at least in part on a portion of HyperText Markup Language (HTML) of the web page corresponding to the identified zone.

14. 14. The computer program product of claim 8, wherein the resource consumption rate of the at least one zone is based at least in part on a custom component of the web page corresponding to the identified zone.

15. one or more computer processors; one or more computer-readable storage media; and program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions for retrieving a web page for rendering in a web browser; program instructions for identifying at least one zone of the web page; program instructions for determining a resource consumption rate of the at least one zone; program instructions for determining a display area of ​​said at least one zone; program instructions for determining a consumption rate based on the resource consumption rate and the display area of ​​the at least one zone; and program instructions for disabling rendering of the at least one zone in response to the consumption rate exceeding a threshold when rendering the web page in the web browser; 2. A computer system comprising:

16. 16. The computer system of claim 15, wherein the consumption rate corresponds directly to the resource consumption rate of the at least one zone.

17. The computer system of claim 15 , wherein the consumption rate corresponds indirectly to the display area of ​​the at least one zone.

18. 16. The computer system of claim 15, wherein the threshold varies based at least in part on operational characteristics of a device running the web browser.

19. 20. The computer system of claim 18, wherein the operational characteristics of the device running the web browser include one or more of the following: CPU usage of the device, RAM usage of the device, bandwidth usage of the device, or power usage of the device.

20. 20. The computer system of claim 15, wherein the resource consumption rate of the at least one zone is based at least in part on a portion of HyperText Markup Language (HTML) of the web page corresponding to the identified zone.

Citation Information

Patent Citations

  • Media player instance throttling

    US20130163953A1

  • Web page performance improvement system

    US20190139080A1

  • Animation controller, animation control method, program, and integrated circuit

    WO2012008097A1