# US 11,113,455 B2 · Web page rendering on wireless devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,455 B2
- Document ID: US11113455B2
- Status: Granted
- Kind: B2
- Application number: 14/106,818
- Filed: 2013-12-15
- Published: 2015-06-18
- Granted: 2021-09-07
- Earliest claimed: 2013-12-15
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Aravind Seshadri; Anand Muthurajan; Jyh-Han Lin; Ke-Cheng Huang; Patrick Plaisted; Rui Liang
- Web page: https://patentgrep.com/patent/US11113455B2

## CPC

- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 16/957: Browsing optimisation, e.g. caching or content distillation
- G06Q 30/0267: {Wireless devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A method and apparatus is described for rendering web pages by a wireless device in order to reduce an amount of data transmitted over-the-air to the wireless device. In one embodiment, a method is performed by a server, comprising receiving a markup language document from a web server via a network interface, the markup language document corresponding to a web page. Next, the markup language document is parsed into a number of blocks by a processor, each of the blocks comprising code representing original content of the web page. Then, the processor creates one or more replacement blocks, each of the replacement blocks corresponding to a respective one of the blocks, each of the replacement blocks comprising code representing substituted content of the web page. Some of the blocks and at least one of the replacement blocks are then sent to a wireless device for rendering.

## Claims

### Claim 1

A method comprising:
receiving a markup language document from a web server via a network interface, the markup language document corresponding to a web page;
parsing the markup language document into original blocks by a processor, each of the original blocks comprising code representing a respective portion of original content of the web page, each respective portion of the original content configured to be displayed;
ranking the original blocks by assigning respective values to the original blocks based on an amount of a type of information that is contained in each of the original blocks;
changing the value of a designated original block based on content represented by the designated original block being requested more than a predetermined number of times;
creating a plurality of replacement blocks by the processor, each replacement block of the plurality of replacement blocks corresponding to a respective one of the original blocks, the plurality of replacement blocks including less information than a plurality of respective original blocks to which the plurality of replacement blocks correspond, each of the plurality of replacement blocks comprising code representing substituted content of the web page, the substituted content configured to be displayed in lieu of the portion of the original content represented by the corresponding original block;
building a modified markup language document that includes some of the original blocks and one or more of the replacement blocks based at least in part on each original block that is included in the modified markup language document having a rank that is greater than a predetermined threshold and further based at least in part on each replacement block that is included in the modified markup language document corresponding to a respective original block having a rank that is less than or equal to the predetermined threshold; and
sending the modified markup language document in lieu of an entirety of the original content of the requested web page to a wireless device via the network interface for rendering by the wireless device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
assigning a first value to one or more of the original blocks, the first value indicative of a characteristic of the portion of the original content represented by a particular original block;
wherein building the modified markup language document comprises:
replacing at least one of the one or more original blocks assigned with the first value with a replacement block.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining whether a specified original block comprises code representative of an advertisement;
wherein assigning the first value comprises:
assigning the first value to the specified original block based at least in part on a determination that the specified original block comprises code representative of an advertisement.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving a request from the wireless device to provide at least one portion of original content corresponding to at least one of the plurality of replacement blocks; and
sending at least one original block comprising the requested at least one portion of original content to the wireless device.

### Claim 5 (depends on 4)

The method of claim 4, wherein the request to provide at least one portion of original content corresponding to at least one of the one or more replacement blocks comprises a request to provide all of the original content viewable in a display of the wireless device.

### Claim 6 (depends on 4)

The method of claim 4, wherein the request to provide at least one portion of original content corresponding to at least one of the one or more replacement blocks comprises a request to provide all of the original content of the web page.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving an indication from the wireless device that the wireless device has exceeded a predetermined data usage threshold; and
increasing a number of replacement blocks provided to the wireless device in response to future web page requests by the wireless device, verses a number of replacement blocks provided to other wireless devices for the same future web page requests.

### Claim 8 (depends on 1)

The method of claim 1, wherein ranking the original blocks comprises:
evaluating the original blocks using a text-recognition technique to determine the values of the respective original blocks.

### Claim 9 (depends on 1)

The method of claim 1, wherein the one or more replacement blocks include a first replacement block and a second replacement block;
wherein the first replacement block comprises first code representing first substituted content of the web page that is selectable to cause the first replacement block to be replaced with a respective original block; and
wherein the second replacement block comprises second code representing second substituted content of the web page that is selectable to cause the second replacement block to be replaced with a respective original block.

### Claim 10 (depends on 1)

The method of claim 1, wherein building the modified markup language document comprises:
selecting the one or more replacement blocks to be included in the modified markup language document based on keeping a total amount of data of the web page transmitted over-the-air less than a predetermined percentage of a size of the markup language document that is received from the web server via the network interface.

### Claim 11

A system comprising:
memory; and
one or more processors coupled to the memory, the one or more processors configured to:
parse a markup language document that corresponds to a web page into original blocks, each of the original blocks comprising code representing a respective portion of original content of the web page, each respective portion of the original content configured to be displayed;
rank the original blocks by assigning respective values to the original blocks based on an amount of a type of information that is contained in each of the original blocks;
change the value of a designated original block based on content represented by the designated original block being requested more than a predetermined number of times;
create a plurality of replacement blocks, each replacement block of the plurality of replacement blocks corresponding to a respective one of the original blocks, the plurality of replacement blocks including less information than a plurality of respective original blocks to which the plurality of replacement blocks correspond, each of the plurality of replacement blocks comprising code representing substituted content of the web page, the substituted content configured to be displayed in lieu of the portion of the original content represented by the corresponding original block;
build a modified markup language document that includes some of the original blocks and one or more of the replacement blocks based at least in part on each original block that is included in the modified markup language document having a rank that is greater than a predetermined threshold and further based at least in part on each replacement block that is included in the modified markup language document corresponding to a respective original block having a rank that is less than or equal to the predetermined threshold; and
send the modified markup language document in lieu of an entirety of the original content of the requested web page to a wireless device for rendering by the wireless device.

### Claim 12 (depends on 11)

The system of claim 11, wherein the one or more processors are configured to:
assign a first value to one or more of the original blocks, the first value indicating a characteristic of the portion of the original content represented by a particular original block; and
replace at least one of the one or more original blocks assigned with the first value with a replacement block.

### Claim 13 (depends on 12)

The system of claim 12, wherein the one or more processors are configured to:
determine whether a designated original block comprises code representative of an advertisement; and
assign the first value to the designated original block based at least in part on a determination that the designated original block comprises code representative of an advertisement.

### Claim 14 (depends on 11)

The system of claim 11, wherein the one or more processors are configured to, based at least in part on receipt of an indication from the wireless device that the wireless device has exceeded a predetermined data usage threshold, increase a number of replacement blocks provided to the wireless device in response to future web page requests by the wireless device, as compared to a number of replacement blocks provided to other wireless devices for the same future web page requests.

### Claim 15 (depends on 11)

The system of claim 11, wherein the one or more processors are configured to:
evaluate the original blocks using a text-recognition technique to determine the values of the respective original blocks.

### Claim 16 (depends on 11)

The system of claim 11, wherein the one or more processors are configured to:
select the one or more replacement blocks to be included in the modified markup language document based on keeping a total amount of data of the web page transmitted over-the-air less than a predetermined percentage of a size of the markup language document that is received from the web server via the network interface.

### Claim 17

A system comprising:
memory; and
one or more processors coupled to the memory, the one or more processors configured to:
parse a markup language document that corresponds to a web page into original blocks, each of the original blocks comprising code representing a respective portion of original content of the web page, each respective portion of the original content configured to be displayed;
rank the original blocks by assigning respective values to the original blocks based on an amount of a type of information that is contained in each of the original blocks, including evaluating the original blocks using a text-recognition technique to determine the values of the respective original blocks;
create a plurality of replacement blocks, each replacement block of the plurality of replacement blocks corresponding to a respective one of the original blocks, the plurality of replacement blocks including less information than a plurality of respective original blocks to which the plurality of replacement blocks correspond, each of the plurality of replacement blocks comprising code representing substituted content of the web page, the substituted content configured to be displayed in lieu of the portion of the original content represented by the corresponding original block;
build a modified markup language document that includes some of the original blocks and one or more of the replacement blocks based at least in part on each original block that is included in the modified markup language document having a rank that is greater than a predetermined threshold and further based at least in part on each replacement block that is included in the modified markup language document corresponding to a respective original block having a rank that is less than or equal to the predetermined threshold; and
send the modified markup language document in lieu of an entirety of the original content of the requested web page to a wireless device for rendering by the wireless device.

### Claim 18 (depends on 17)

The system of claim 17, wherein the one or more replacement blocks include a first replacement block and a second replacement block;
wherein the first replacement block comprises first code representing first substituted content of the web page that is selectable to cause the first replacement block to be replaced with a respective original block; and
wherein the second replacement block comprises second code representing second substituted content of the web page that is selectable to cause the second replacement block to be replaced with a respective original block.

### Claim 19 (depends on 17)

The system of claim 17, wherein the one or more processors are configured to, based at least in part on receipt of an indication from the wireless device that the wireless device has exceeded a predetermined data usage threshold, increase a number of replacement blocks provided to the wireless device in response to future web page requests by the wireless device, as compared to a number of replacement blocks provided to other wireless devices for the same future web page requests.

### Claim 20 (depends on 17)

The system of claim 17, wherein the one or more processors are configured to:
select the one or more replacement blocks to be included in the modified markup language document based on keeping a total amount of data of the web page transmitted over-the-air less than a predetermined percentage of a size of the markup language document that is received from the web server via the network interface.
