IP Library › Granted Patent US 9,866,612
Granted Patent B2
US 9,866,612 · App. 14/496,562 · Granted Jan 9, 2018

Server-based browser system

Inventor: Ahad Rana (Irvine, CA)
Assignee: Mercury Kingdom Assets Limited
H04L67/02G06F17/2235G06F17/30873G06F17/30899G06F17/30905H04L65/607H04L67/42H04L69/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,866,612
App. No.
14/496,562
Granted
Jan 9, 2018
Kind
B2
Abstract

A server-based browser system provides a server-based browser and a client system browser. The client browser reports the position of a user click on its display screen, hotspot ID, or URL to the server-side browser which retrieves a Document Object Model (DOM) model and view tree for the client and finds the location on the Web page that the user clicked on using the coordinates or hotspot ID received from the client. If there is a script associated with the location, it is executed and the resulting page location is requested from the appropriate server. If there is a URL associated with the location, it is requested from the appropriate server. The response Web page HTML definition is parsed and a DOM tree model is created which is used to create a view tree model. The server-side browser retrieves a style sheet, layout algorithms, and device constraints for the client device and lays out the view model using them onto a virtual page and determines the visual content. Textual and positional information are highly compressed and formatted into a stream and sent to the client browser which decodes the stream and displays the page to the user using the textual and positional information.

Claims (64)

1. A method comprising:

receiving a navigation request from a client device, the navigation request including display screen coordinates corresponding to a position on a display of the client device;

identifying a script associated with the display screen coordinates;

executing the script and requesting an associated page from a corresponding server;

receiving the page from the corresponding server;

creating a layout of the page by determining a plurality of content elements present in the page based at least in part on device characteristics information associated with the client device, the position of each content element within said page represented by position data comprising two-dimensional coordinates;

creating a compressed stream containing the plurality of content elements and the position data; and

sending said compressed stream and the layout to the client device.

2. The method of claim 1 , further comprising:

identifying any images associated with the page; and

scaling the images based at least in part on the device characteristics information, before creating the compressed stream.

3. The method of claim 1 , further comprising:

identifying any images associated with the page; and

cropping the images based at least in part on the device characteristics information, before creating the compressed stream.

4. The method of claim 1 , further comprising:

identifying any images associated with the page; and

reducing a bit depth of the image based at least in part on the device characteristics information, before creating the compressed stream.

5. The method of claim 1 , wherein the device characteristics information includes stylistic information, layout algorithms, and format encodings associated with the client device.

6. The method of claim 1 , wherein the client device is at least one of a cell phone or personal digital assistant (PDA) device.

7. The method of claim 1 , wherein the client device is a set top box.

8. The method of claim 1 , further comprising:

receiving a sign on request form the client device;

in response to receiving the sign on request, identifying a type associated with the client device; and

based at least in part on the type, accessing the device characteristics information.

9. The method of claim 1 , wherein creating the compressed stream comprises:

determining real content associated with the page;

removing nested tables from the page received from the corresponding server; and

accumulating text of the page into a string.

10. A hardware apparatus for hosting a server-based browser that interacts with a plurality of client device types, the interactions comprising:

receiving a navigation request from a client device, the navigation request including display screen coordinates corresponding to a position on a display of the client device;

requesting a page from a corresponding server based at least in part on the display screen coordinates;

receiving the page from the corresponding server;

creating a layout of the page by determining a plurality of content elements present in the page based at least in part on device characteristics information associated with the client device, the position of each content element within said page represented by position data comprising two-dimensional coordinates;

creating a compressed stream containing the plurality of content elements and the position data; and

sending said compressed stream and the layout to the client device.

11. The apparatus of claim 10 , wherein the interaction further comprise:

determining real content associated with the page;

removing nested tables from the page received from the corresponding server; and

accumulating text of the page into a string.

12. The apparatus of claim 10 , wherein the interaction further comprise:

receiving a sign on request from the client device;

in response to receiving the sign on request, identifying a type associated with the client device; and

based at least in part on the type, accessing the device characteristics information.

13. The apparatus of claim 10 , wherein the interaction further comprise:

identifying any images associated with the page; and

cropping the images based at least in part on the device characteristics information, before creating the compressed stream.

14. The apparatus of claim 10 , wherein the stream includes a Document Object Model (DOM) tree.

15. One or more non-transitory computer-readable media having computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving a request from a client device, the request including display screen coordinates corresponding to a position on a display of the client device;

identifying a hotspot associated with the display screen coordinates;

requesting an associated page from a corresponding server associated with the hotspot;

receiving the page from the corresponding server;

creating a layout of the page by determining a plurality of content elements present in the page based at least in part on device characteristics information associated with the client device, the position of each content element within said page represented by position data comprising two-dimensional coordinates;

creating a compressed stream containing the plurality of content elements and the position data; and

sending said compressed stream and the layout to the client device.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the device characteristics information includes stylistic information, layout algorithms, and format encodings associated with the client device.

17. The one or more computer-readable media as recited in claim 15 , having computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

parsing the HTML code of the page to create a Document Object Model (DOM) tree; and

sending the DOM tree as part of the compressed stream.

18. The one or more non-transitory computer-readable media of claim 15 , wherein the client device is at least one of a cell phone or personal digital assistant (PDA) device.

19. The one or more non-transitory computer-readable media of claim 15 , wherein the client device is a set top box.

20. The one or more computer-readable media as recited in claim 15 , having computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

identifying any images associated with the page; and

scaling the images based at least in part on the device characteristics information, before creating the compressed stream.

Continuity (4)
Continuation 12535550 · Aug 4, 2009
Continuation 10474300
Provisional Application 60282194 · Apr 9, 2001
Related Publication 20160094609A1 · Mar 31, 2016