Server-based browser system
First Claim
1. A process for a server-based Web browser that interacts with a plurality of client device types, comprising the steps of:
- receiving a navigation request from a client-based browser operating on a client system, said navigation request including display screen coordinates corresponding to the position of a user'"'"'s pointing device at a time the user clicks the pointing device;
identifying a web page associated with said navigation request based at least in part on the included display screen coordinates;
requesting said web page from a web server;
receiving said web page from said web server;
creating a layout of said web page received from said web server by determining a plurality of content elements present in said web page and determining a position of each of said plurality of content elements within said web page;
wherein the position of said each content element within said web page is represented by position data comprising two-dimensional coordinates;
creating a compressed stream containing said plurality of content elements and the position data representing the location to display each of said plurality of content elements;
sending said compressed stream to a client-based browser that accepts said compressed stream;
saving client system state information on a storage device for a particular user;
wherein said client system state information includes Javascripts and cookies; and
wherein said client system state information allows said server-based browser to track the current state of said client-based browser and the particular user.
8 Assignments
0 Petitions
Accused Products
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.
-
Citations
17 Claims
-
1. A process for a server-based Web browser that interacts with a plurality of client device types, comprising the steps of:
-
receiving a navigation request from a client-based browser operating on a client system, said navigation request including display screen coordinates corresponding to the position of a user'"'"'s pointing device at a time the user clicks the pointing device; identifying a web page associated with said navigation request based at least in part on the included display screen coordinates; requesting said web page from a web server;
receiving said web page from said web server;creating a layout of said web page received from said web server by determining a plurality of content elements present in said web page and determining a position of each of said plurality of content elements within said web page; wherein the position of said each content element within said web page is represented by position data comprising two-dimensional coordinates; creating a compressed stream containing said plurality of content elements and the position data representing the location to display each of said plurality of content elements; sending said compressed stream to a client-based browser that accepts said compressed stream; saving client system state information on a storage device for a particular user; wherein said client system state information includes Javascripts and cookies; and wherein said client system state information allows said server-based browser to track the current state of said client-based browser and the particular user. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A hardware apparatus for a server-based Web browser that interacts with a plurality of client device types, comprising:
-
a database of layout algorithms associated with said plurality of client device types; a database of style sheets associated with said plurality of client device types; a server-based browser for creating a layout of a web page received from a web server operating on a client system of a particular client device type by retrieving device layout algorithms associated with said particular client device type from said database of layout algorithms and retrieving style sheets associated with said particular client device type from said database of style sheets, determining a plurality of content elements present in said web page, and determining a position of each of said plurality of content elements within said web page based on the layout algorithms and the style sheets; wherein said position of said each content element within said web page is represented by position data comprising two-dimensional coordinates; wherein said server-based browser creates a compressed stream containing said plurality of content elements and provides the compressed stream to said client-based browser, said position data representing the location to display each of said plurality of content elements; wherein said server-based browser further comprises; a module for saving a client system state on a storage device associated with said client; wherein said client system state includes Javascripts and cookies; and wherein said client system state allows said server-based browser to track a current state of said client system. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory program storage medium readable by a computer, embodying a program of instructions executable by the computer to perform a method for a server-based web browser that interacts with a plurality of client device types, comprising the steps of:
-
receiving a navigation request from a client-based browser operating on a client system, said navigation request including display screen coordinates corresponding to the position of a user'"'"'s pointing device at a time the user clicks the pointing device; identifying a web page associated with said navigation request based at least in part on the included display screen coordinates; requesting said web page from a web server; receiving a web page from a web server; creating a layout of said web page received from said web server by determining a plurality of content elements present in said web page and determining a position of each of said plurality of content elements within said web page; wherein the position of said each content element within said web page is represented by position data comprising two-dimensional coordinates; creating a compressed stream containing said plurality of content elements and the position data representing the location to display of each of said plurality of content elements; sending said compressed stream to a client-based browser that accepts said compressed stream; saving client system state information on a storage device; wherein said client system state information includes Javascripts and cookies; and wherein said client system state information allows said sever-based browser to track a current state of said client system. - View Dependent Claims (14, 15, 16, 17)
-
Specification