U.S. patent application number 11/515148 was filed with the patent office on 2008-06-26 for server side web browsing and multiple lens system, method and apparatus.
This patent application is currently assigned to Gutenberg Printing LLC. Invention is credited to Hiang Swee Chiang.
Application Number | 20080155012 11/515148 |
Document ID | / |
Family ID | 26883030 |
Filed Date | 2008-06-26 |
United States Patent
Application |
20080155012 |
Kind Code |
A1 |
Chiang; Hiang Swee |
June 26, 2008 |
Server side web browsing and multiple lens system, method and
apparatus
Abstract
A user may access a host server and receive display information
within a single browser window. The display information includes at
least one lens, wherein each lens controls server side web browsing
and allows the user to view a separate web page from the Internet.
The host server provides personalized web browsing capability
specific to a particular user independent of the browser, device or
location of the user. After the user submits a request to view a
particular web page, the web page information is retrieved by the
host server and transmitted to the user for display within a
selected lens. Each lens controls server-side web browsing through
independent navigational controls, such as a horizontal and
vertical scroll bar, a resize button and the like. One lens may
also control the web content displayed in another lens. The host
server may reformat entire web pages so that they can be displayed
within a lens without the need for scrolling. Additionally, each
lens may have multiple cookies associated therewith. Users may
further submit bookmarks which are applicable to one or more of the
lenses. Bookmarks may be recognized through initiating a single
command.
Inventors: |
Chiang; Hiang Swee;
(Elmhurst, NY) |
Correspondence
Address: |
Michael D. Stein;WOODCOCK WASHBURN LLP
One Liberty Place - 46th Floor
Philadelphia
PA
19103
US
|
Assignee: |
Gutenberg Printing LLC
|
Family ID: |
26883030 |
Appl. No.: |
11/515148 |
Filed: |
August 31, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09565155 |
May 3, 2000 |
|
|
|
11515148 |
|
|
|
|
60187434 |
Mar 7, 2000 |
|
|
|
Current U.S.
Class: |
709/203 ;
707/E17.121 |
Current CPC
Class: |
G06F 16/957 20190101;
G06F 40/106 20200101; G06F 16/9577 20190101; G06F 16/9535 20190101;
G06F 40/103 20200101; H04L 67/306 20130101 |
Class at
Publication: |
709/203 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Claims
1. A method, performed by a host server, for bookmarking a web page
presented to a user at a remote device, comprising: transmitting a
web page corresponding to a received uniform resource locator, said
web page for display in a window of a browser on said remote
device; receiving at the host server a single command from said
user to bookmark said web page; and storing a bookmark identifier
by the server corresponding to said web page.
2. The method of claim 1, wherein said single command is received
through a bookmark command button associated with said window.
3. A method for bookmarking a web page received by a user at a
remote device, comprising: receiving a web page corresponding to a
uniform resource locator, said web page displayed in a window; and
transmitting a single command to a host server to bookmark said web
page.
4. The method of claim 3, wherein said single command is
transmitted through a bookmark command button associated with said
window.
5. A host server for bookmarking a web page presented to a user at
a remote device, comprising: A processor and storage device
operative with a program running on the host server to: (i) receive
a uniform resource locator transmitted by said user through a
window of a browser on said remote device; (ii) transmit a web page
corresponding to said uniform resource locator for display in said
window; (iii) receive a single command from said user to bookmark
said web page; and (iv) store a bookmark identifier corresponding
to said web page.
6. The host server of claim 5, wherein said single command is
received through a bookmark command button associated with said
window.
7. A remote device for bookmarking a web page received by a user
from a host server, comprising: a storage device; and a processor
connected to the storage device, the storage device storing a
program for controlling the processor; the processor operative with
the program to, (i) transmit a uniform resource locator to said
host server through a window of a browser on said remote device;
(ii) receive a web page corresponding to said uniform resource
locator displayed in said window; and (iii) transmit a single
command to bookmark said web page.
8. The remote device of claim 7, wherein said single command is
transmitted through a bookmark command button associated with said
window.
9. A computer readable medium having computer executable software
code stored thereon for bookmarking a web page presented by a host
server to a user at a remote device, comprising: code for receiving
a uniform resource locator transmitted by said user through a
window of a browser on said remote device; code for transmitting a
web page corresponding to said uniform resource locator for display
in said window; code for receiving a single command from said user
to bookmark said web page; and code for storing a bookmark
identifier corresponding to said web page.
10. The computer readable medium of claim 9, wherein said single
command is received through a bookmark command button associated
with said window.
11. A computer readable medium having computer executable software
code stored thereon for bookmarking a web page received by a user
on a remote device, comprising: code for transmitting a uniform
resource locator to a host server through a window of a browser on
said remote device; code for receiving a web page corresponding to
said uniform resource locator displayed in said window; and code
for transmitting a single command to bookmark said web page.
12. The computer readable medium of claim 11, wherein said single
command is transmitted through a bookmark command button associated
with said window.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a divisional of U.S. patent application
Ser. No. 09/565,155, filed May 3, 2000, which claims priority from
provisional U.S. Patent Application Ser. No. 60/187,434, entitled
SERVER-SIDE WEB BROWSING AND MULTIPLE LENS SYSTEM, METHOD AND
APPARATUS filed in the name of Hiang-Swee Chiang on Mar. 7, 2000,
the entirety of which is incorporated by reference herein.
FIELD
[0002] A server-side web browsing and multiple lens system, method
and apparatus directed to electronic document processing, and more
particularly directed to structured electronic documents (e.g.
HTML, XML) which present multiple web pages within a single browser
window.
BACKGROUND
[0003] In general, computer application programs may be implemented
in two ways. First, a user may load and execute a local application
program. Local application programs have processing instructions
that are stored in a memory of the same computing device from which
the user executes commands. In order to receive upgrades to these
applications, a user must download and install any new version of
the software. Because such local applications are also computer
specific, they also do not provide personalized web browsing
capability specific to a particular user and independent of the
browser, platform, machine and/or location of the user.
[0004] Remote applications are accessed and implemented by a user
over a computer network, such as the Internet. Generally, a user
may access a remote server and request that an application be
activated. The remote server then transmits display data and
processing instructions to the user's computing device over the
network. Such "thin-client" devices, e.g., wireless and handheld
devices, are limited by memory, screen size, processing and
bandwidth constraints. In applications involving such devices, the
commands must first be transmitted from the user's computing device
to the remote server that runs the application. These applications
are advantageous in that any upgrades to the software may be
implemented by an operator of the server, rather than being
downloaded and installed by each individual user.
[0005] One type of frequently-used application program is a web
browsing application or "browser" which is generally used to view
information on the Internet, such as pages of HTML data, graphical
data (e.g. data presented in a GIF format, TIFF format or JPEG
format), and multimedia presentations (e.g. data presented in MPEG
formats). Most common web browsers present a single display area in
which web page content is presented. Examples of such browsers
include INTERNET EXPLORER 3.0 and NETSCAPE NAVIGATOR 4.0. The
window in which the browser is active typically has navigational
controls such as a horizontal scroll bar, a vertical scroll bar, a
minimize command button, a maximize command button, a forward
command button, a backward command button and a close window lens
command button. Such controls are specific to the browser
application in the displayed window and are typically implemented
by the operating system (e.g. WINDOWS 95/98/NT/2000) rather than
the browser itself.
[0006] Typically, users will visit more than one web page or web
site in each browsing session, and will often want to return to and
make comparisons with a previously-viewed page. Consequently,
browsers with a single display area are troublesome in that a user
must open multiple windows on their computing device if they wish
to view more than one web page at a time. To view a previous page
in such browsers, the user must repeatedly select a "back" button
until the previously-viewed page is displayed. These limited
features inhibit navigation on the Internet. Limited navigation
ability is particularly pertinent to thin-client devices where
memory, screen size, processing and bandwidth are constrained or
limited.
[0007] Recently, several browsers have been introduced which
provide separate display areas that allow viewing of more than one
web page. One example of this type of browser is INTERNET EXPLORER
5.0 which allows a designated search page to be presented in a
smaller display area of the window in which the browser is active.
A larger display area is provided within the same window to view a
current web page accessed by the user. However, INTERNET EXPLORER
5.0 does not provide separate navigational controls for the
separate display areas within the window. Also, a user may not
specify a web page other than a designated search page for
presentation in the smaller display area.
[0008] A second example of a multiple-view web browser is the
browser of BROADPAGE.COM. Each display area in the BROADPAGE.COM
browser has independent navigational controls. However, the browser
is a local application, not a remote application. Furthermore,
multiple views are, presented in a tiled fashion rather than
side-by-side, so that portions of previously viewed documents
become partially obscured when selecting a new web page to view.
The browser of KATIESOFT.COM is another example of a local
application where the multiple views are presented in a
non-ovarlapping manner.
[0009] In addition to the shortcomings presented above, current
browsers suffer from other limitations in their functionality. For
example, browsers typically include the ability to bookmark a web
page that is being viewed. Bookmarking, as referred to herein, is
the process by which a user designates that a web page identifier
(e.g. a uniform resource locator (URL)) is to be stored within the
browser so that, upon later selection of the stored address, the
web page may be viewed. Currently, several steps must be taken to
bookmark a web page after it is presented to the user. First, the
user must typically activate a general bookmark command button.
Next, the user must designate that the bookmark is to be added to a
bookmark folder, and, perhaps, determine a location within the
folder to which the bookmark information is to be stored. Finally,
a confirmation of the bookmark must be entered. Thus, bookmarking
has traditionally been a multi-step process.
[0010] Another disadvantage of common browser systems is that
bookmarks are saved in the local computer device. Thus, they are
not portable from one device to another.
[0011] Still another disadvantage of common browsers is that they
generally do not allow the entire content of a web page to be
viewed at once. Many web pages contain content, the size or length
of which may exceed the display area of a browser window.
Typically, browsers rely on the scroll bar functions provided by
the operating system to allow a user to scroll through the web site
content. The ability to reformat a web page so that its entire
content can be viewed within the display area of a window without
scrolling has not been possible in earlier browsing systems. The
need for reformatting web pages is particularly pertinent to
thin-client devices with limited screen displays.
SUMMARY
[0012] The above-identified problems are solved and a technical
advance is achieved by a server side web browsing and multiple lens
system, method and apparatus. One advantage of the system, method
and apparatus is that a host server presents centralized memory and
processing to facilitate communications with thin-client
devices.
[0013] Another advantage of the host server is to present multiple
web page information to a user through server-side programming,
which facilitates web page persistence across session, browser,
device and location, i.e., the host server provides personalized
web browsing capability specific to a particular user independent
of the browser, platform, device and/or location of the user.
[0014] Yet another advantage of the host server is that it enables
translations on the fly from one protocol received from a third
party server to another protocol for display to a user on a remote
device. For example, the remote server can reformat web content
received from a third party server so that it can be displayed
within the display area of a user's device. Consequently, a user
may view the entire contents of a reformatted web page within the
display area of a single lens or browser window, i.e., a
miniaturized full view screen in lieu of using a horizontal or
vertical scroll bar. The host server can further translate any
input language (e.g., HTML, CSS, XML, 20 XSL, XHTML, WML) to any
output language (e.g., HTML, WML) for display to a particular
use.
[0015] Still another advantage of the host server is that it
provides a centralized memory to store bookmarks and cookies so
that they are portable from one device to another device. It is a
further advantage of the system, method and apparatus that a user
may bookmark a web page or a plurality of web pages with a single
command and store it.
[0016] It is yet another advantage of the system, method and
apparatus that each lens may have multiple cookies associated
therewith. Alternatively, a cookie may be stored so that it is
associated with a particular user regardless of the browser,
platform, device and/or location of the user. Storing cookies on
the server-side allows an unlimited number and size of cookies to
be stored per user or lens. The server-side storage capacity for
such cookies is particularly pertinent to thin-client devices which
have limited storage capacity.
[0017] Still another advantage of the system, method and apparatus
is that a user may simultaneously view and interact with a
plurality of web pages within a single browser window through one
or more lenses wherein each lens controls server-side web browsing
through an independent and full range of navigational controls,
i.e., full browser control capability.
[0018] An advantage of the server-side browsing capability of the
system, method and apparatus is that it enables multiple browsers
for thin-client devices limited by memory, screen size, processing
and bandwidth constraints.
[0019] Yet another advantage of the system, method and apparatus is
that one lens can control the web content displayed in another
lens. For example, one lens can be used to conduct a search and the
results of the search can be displayed in another lens.
[0020] In one embodiment, the system, method and apparatus presents
web content to a user at a remote device. According to the
embodiment, a host server transmits display information to the user
comprising at least one lens for presentation within a window of a
browser on the user's device. Any number of lenses can be used in
the system, method and apparatus. In alternative embodiments, the
number of lenses are two, four or a plurality of lenses.
[0021] Each lens controls server-side web browsing and is operative
to display a separate web page upon receiving a uniform resource
locator or other web identifier (collectively "URL") from the user.
Each lens controls server-side browsing through any number and type
of navigational controls such as a uniform resource locator entry
field, a horizontal scroll bar, a vertical scroll bar, a minimize
command button, a maximize command button, a close lens command
button, a forward command button, a backward command button, a
bookmark command button, a reformat command button or a menu
command button. In another embodiment, a lens may have a full range
of navigational controls, i.e., full browser control capability. In
still another embodiment, one lens may control the web content
displayed in another lens.
[0022] In other embodiments, the host server may receive an
identifier from a user, verify the identifier and transmit display
information to the user, such that the user has web page
persistence across session, platform, browser, device and location.
The host server may also store at least one cookie associated with
each lens or with a user's identifier. The host server may further
receive a single bookmark command to bookmark a web page presented
to a user and store a bookmark identifier corresponding to the web
page.
[0023] In still another embodiment, the host server translates any
protocol received by a third party server to a second protocol to
be presented to a user on a remote device. The server receives from
a third party server web page display data in a first language,
such as hypertext markup language (HTML), cascading style sheet
language (CSS), extensible markup language (XML), extensible
stylesheet language (XSL), extensible hypertext markup language
(XHTML) or wireless markup language (WML) and translates the data
into a second language, such as HTML or WML, for presentation on
the remote device.
[0024] In yet another embodiment, the web page display data
received by the host server from a third party server is
reformatted by the host server so that substantially all of the
display data can be displayed within the display area of the lens
or window on the remote device. The server determines the size of
the display area of the lens or window of a remote device. If the
size of the display data is greater than the size of the display
area, the server reformats the display data so that it can be
presented with the display area of the lens. The server can
reformat the size of the display data to be substantially equal to
the size of the display area. Alternatively, if the size of the
display data is less than the size of the display area, the server
can reformat the size of the display data to be substantially equal
to the size of the display area.
[0025] In still another embodiment, a user transmits a request to
the server to reformat a web page. In response to the request, the
host server reformats the web page so that substantially all of the
display data is displayed within the display area of the user's
lens or window, such that the user does not have to use a
horizontal or vertical scroll bar to view the data. In an
alternative embodiment, the web page can be reformatted by the
server to any percentage of its original size selected by the
user.
[0026] It is not intended that the server-side web browsing and
multiple lens system, method and apparatus be summarized here in
its entirety. For example, the system, method and apparatus is also
directed to a remote device for receiving display information from
the host server, including at least one lens present within a
window of a browser on the remote device, wherein each lens
controls server-side web browsing. The system, method and apparatus
is further directed to a computer readable medium having computer
executable software code stored thereon for presenting, through a
host server, web content to a user at a remote terminal and for
receiving web content at a remote device. Further features, aspects
and advantages of the system, method and apparatus are set forth in
or are apparent from the following brief and detailed descriptions
and drawings and claims which follow.
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Further aspects of the server-side web browsing and multiple
lens, system, method and apparatus will be more readily appreciated
upon review of the detailed description set forth below when taken
in conjunction with the accompanying drawings, of which:
[0028] FIG. 1 is a block diagram illustrating an exemplary computer
network including the application host server;
[0029] FIG. 2 is a block diagram of exemplary components of an
application host server for use with the system of FIG. 1;
[0030] FIGS. 3-12 are a flowchart of an exemplary process by which
a user may simultaneously view and bookmark a plurality of web
pages;
[0031] FIGS. 13-15 are a flowchart of an exemplary process by which
a user may maximize or minimize a lens containing web page display
data;
[0032] FIG. 16 is an exemplary screen display depicting a user
log-in page;
[0033] FIG. 17 is an exemplary screen display of a hierarchical
tree structure (i.e., a menu) for administering the content of a
lens;
[0034] FIG. 18 is an exemplary screen display depicting a plurality
of lenses within a single browser window;
[0035] FIG. 19 is an exemplary screen display of a lens having full
browser capability;
[0036] FIG. 20 is an exemplary screen display of a maximized
lens;
[0037] FIG. 21 is an exemplary network illustrating a dynamic
miniaturization application; and
[0038] FIG. 22 is an exemplary illustration of a miniaturized web
page to be presented within a display area of a lens or a browser
window.
[0039] It will be understood that the foregoing brief description
and the following detailed description are exemplary and
explanatory of this invention, but are not intended to be
restrictive thereof or limiting of the advantages which can be
achieved by this invention. Thus, the accompanying drawings,
referred to herein and constituting a part hereof, illustrate
embodiments of this invention and, together with the detailed
description, serve to explain the principles of this invention.
DETAILED DESCRIPTION
[0040] Referring now to FIG. 1, in general, the server-side web
browsing and multiple lens system, method and apparatus allows a
user at a remote device 2 to access an application host server 16
which implements multiple lens displays. The server 16 generates
appropriate display data and transmits the same to the user for
display within a single window of a local web browsing application.
The display data formats the window to present at least one lens.
The display data can be customized 15 for each user to present data
through as many lenses as suits a user's needs, e.g., two, three,
four, five, six or more lenses can be presented. The lenses can
also be formatted in any shape or orientation.
[0041] Each lens controls server-side web browsing through
independent navigational controls. The controls allow a user to,
inter alia: (i) select a web page URL to be displayed; (ii)
navigate backward and forward through a viewing history of web
pages; (iii) scroll up or down or from side to side; (iv) maximize
or minimize selected web pages; and (v) bookmark a web page with a
single command. Such server-side browsing is accomplished by a
server which presents command buttons or text entry fields having
embedded commands associated therewith. The embedded commands
generally take the form of:
TABLE-US-00001 http:// <server>:<port>/<multiple
lens system>/?JLMCIick= <command>[&<attribute
name>=<attribute value>...]
where: server=the host name of the server running the multiple lens
system; port=the port number on which the multiple lens system
receives commands; multiple lens system=The resource name of the
multiple lens system; command=the different commands for various
lens operations described below; attribute name=the argument name
of a specific command; and Attribute value=the argument value of a
specific command
[0042] The commands used to implement the server-side web browsing
and multiple lens system generally include the following:
TABLE-US-00002 NAME: ATTRIBUTE: ACTION: JLSShowCurrentDesktop None
Instructs the server to show the current web pages within a single
window. The server keeps a copy of the web page identifiers so that
in the event of a network interruption or user sign- out, the same
display of web pages will persist across sessions. JLSShowTile
JLVRows, Tiles all lenses into JLVColumns JLVRows and JLVColumns.
If one or both attributes are not specified, current row and column
values are taken from the operating system of the user's device
values. JLSShowRow JLVRow Shows all lenses on a horizontal row of
the window. JLVRow contains the row number starting from, i.e. 1 at
the top of the window. JLSShowLens JLVLens, Shows a lens. JLVLens
JLVType specifies the coordinates of the lens where, i.e. 11 may
designate the top left position, i.e., 12 the top right position,
i.e,. 21 the bottom left position and, i.e., 22 the bottom right
position. JLVType specifies how to show the lens (e.g. minimized or
maximized). JLSShowTitle JLVLens, Shows the title bar of a JLVType
web page displayed in a lens. JLSShowCurrentView JLVLens Shows the
current view of a lens. JLSShowPreviousView JLVLens Shows the
previous view of a lens. JLSShowNextView JLVLens Shows the next
view of a lens. JLSShowSystemMenu JLVLens Shows menu web page in a
lens. JLSAddLens JLVTitleText, Adds a lens to the JLVIcon window.
JLSRemoveLens JLVLens Removes a lens from the window. JLSGetLenses
None Retrieves the number of lenses displayed in the window.
JLSGetRows None Retrieves the number of rows in the window.
JLSGetColumns None Retrieves the number of columns in the window.
JLSGetTitleText JLVLens Retrieves the title text of a lens.
JLSGetIcon JLVLens Retrieves the icon of a lens. JLSSetRows None
Sets the number of rows in the window. JLSSetColumns None Sets the
number of columns in the window. JLSSetTitleText JLVLens Sets the
title text of a lens. JLSSetIcon JLVLens Sets the icon of a
lens.
[0043] The commands may implement programming scripts, such as may
be generated in JAVASCRIPT, to perform the corresponding action. In
response to these commands, the server 16 generates output in a
suitable browser-compatible language such as HTML. The output
includes use of FRAME or IFRAME commands to generate a multiple
lens display. For each new command received from the user, the
output is regenerated and re-transmitted by the server 16 for
display on the user device 2. The output may be further updated if
a selected web page in the display transmits refresh information or
new data.
[0044] In an example of the use of these commands, a server 16 may
authenticate a user who is accessing the multiple lens system.
After authentication, the user, through the local web browser,
transmits to the server 16 a redirection command including the
JLSShowCurrentDesktop command. The server 16 may reply to the
command by, for example, outputting HTML framing commands which set
title bars, status bars, display areas and borders for all the
lenses to be displayed in a window controlled by the local browser.
When the user wants to change the layout of the window or when the
user adds or removes lenses from the window, the local browser
transmits a JLSShowTile command to the server 16 which in turn will
tile all the lenses according to current row and column
parameters.
[0045] Turning again to FIG. 1, there is depicted an exemplary
computer network 1 through which a plurality of remote devices 2,
4, 6 may communicate with server 16 and a plurality of third-party
servers 10, 12, 14 via network connection 8 in any known manner.
Computer network 1 can be an Internet-based network such as the
World Wide Web. It may also be any one or more of a local area
network (LAN), a wide-area network (WAN), an intranet environment,
an extranet environment, a wireless network or any other type of
computer network, such as those enabled over public switched
telephone networks.
[0046] Remote devices 2, 4, 6 may each be any type of computing
device, such as a personal computer, a workstation, a network
terminal, a hand-held remote access device, a personal digital
assistant (PDA) or any other device, including wireless devices,
that can accomplish two-way electronic communication over the
network connection 8. Specific functions and operations of user
devices 2-6, third-party web site servers 10, 12, 14 and
application host server 16 are discussed further below.
[0047] Turning now to FIG. 2, displayed therein are exemplary
components of a computing device, such as server 16. Any of user
remote devices 2, 4 and 6 or third-party web site servers 10, 12,
14 may share a similar configuration as follows. The primary
component of server 16 is processor 20, which may be any commonly
available microprocessor, such as the PENTIUM III manufactured by
INTEL CORP. The processor 20 may be operatively connected to
further exemplary components, such as RAM/ROM 26, a clock 28,
input/output devices 30, and a memory 22 which, in turn, stores one
or more computer programs 24.
[0048] Processor 20 operates in conjunction with random access
memory and read-only memory. The random-access memory (RAM) portion
of RAM/ROM 26 may be a suitable number of Single In-line Memory
Module (SIMM) chips having a storage capacity (typically measured
in kilobytes or megabytes) sufficient to store and transfer, inter
alia, processing instructions utilized by processor 20 which may be
received from application programs 24. The read-only memory (ROM)
portion of RAM/ROM 26 may be any permanent non-rewritable memory
medium capable of storing and transferring, inter alia, processing
instructions performed by processor 20 during a start-up routine of
server 16.
[0049] Clock 28 may be an on-board component of processor 20 which
dictates a clock speed (typically measured in MHz) at which
processor 20 performs and synchronizes, inter alia, communication
between the internal components of server 16.
[0050] Input/output device(s) 30 may be one or more known devices
used for receiving operator inputs, network data, and the like and
transmitting outputs resulting therefrom. Accordingly, exemplary
input devices may include a keyboard, a mouse, a voice recognition
unit and the like for receiving operator inputs. Output devices may
include any known devices used to present data to an operator of
the server 16 or to transmit data over the computer network 1 to a
remote user or customer. Accordingly, suitable output devices may
include a display, a printer and a voice synthesizer connected to a
speaker.
[0051] Other input/output devices 30 may include a telephonic or
network connection device, such as a telephone modem, a cable
modem, a T-1 connection, a digital subscriber line or a network
card, for communicating data to and from other computer devices
over computer network 1, such as remote device 2. In an embodiment
involving a network server, communications devices used as
input/output devices 30 can have capacity to handle high bandwidth
traffic in order to accommodate communications with a large number
of users 2-6.
[0052] Memory 22 may be an internal or external large capacity
device for storing computer processing instructions,
computer-readable data, and the like. The storage capacity of the
memory 22 is typically measured in megabytes or gigabytes.
Accordingly, memory 22 may be one or more of the following: a
floppy disk in conjunction with a floppy disk drive, a hard disk
drive, a CD-ROM disk and reader/writer, a DVD disk and
reader/writer, a ZIP disk and a ZIP drive of the type manufactured
by IOMEGA CORP., and/or any other computer readable medium that may
be encoded with processing instructions in a read-only or
read-write format. Further functions of and available devices for
memory 22 will be apparent.
[0053] Memory 22 may store, inter alia, a plurality of programs 24
which may be any one or more of an operating system such as WINDOWS
2000 by MICROSOFT CORP., and one or more application programs, such
as a web hosting program. The programs 24 may include processing
instructions for accomplishing a server-side web browsing system as
described herein.
[0054] Turning now to FIGS. 3-12, therein is depicted an exemplary
process 30 by which a user may simultaneously view a plurality of
web pages. The process 30 may begin after a user at a remote device
2 selects the URL of an application host server 16 which offers a
server-side, multiple lens, browsing application. As shown in FIG.
16, the URL for the host server 16 may be entered in the URL entry
field 163 of the browser residing on the user's device 2. An
exemplary sign-in window 160, such as the one presented in FIG. 16,
may then be presented to the user. Window 160 can have menu and
resize controls which are defined by the operating system residing
on the user's device 2. Such menu and re-size controls may include
a menu bar 161, a minimize command button 165, a maximize command
button 167 and a close window command button 169. The window 160
may furthermore offer navigational controls such as URL entry field
163.
[0055] In order to complete the sign-in, the user may enter a user
name or other unique identifier into user name field 162 and may
further enter a password into password field 164 (step 32). An
optional field such as company field 166 may be provided for those
users that subscribe to the server 16 through a group affiliation,
such as a corporation. Upon entering the field information into
field 162, 164 and 166, the user may transmit such information to
the remote server by selecting the sign-in button 168 with a
pointing device, such as a mouse. If the information has been
entered incorrectly or if the user decides not to log into the
server 16, the user may select the cancel command button 158 to
abort the sign-in.
[0056] After signing in, the server 16 may verify the sign-in
information provided by the user, e.g., confirm its validity, and
transmit a screen display such as that depicted in window 180 of
FIG. 18. The screen display may present the last web page(s)
browsed by the user (step 34). The window 180 may have at least one
lens, two lenses, three lenses, four lenses 171, 173, 181 and 183,
or more, each of which may present any URL indicated by the user.
Each lens may have independent navigational controls, such as a
maximize command button 182, a vertical scroll bar 185, and a
horizontal scroll bar 187 as shown in FIG. 18, as well as a menu
command button 192, a bookmark button 194, a backward command
button 196, and a forward command button 198 as depicted in window
190 of FIG. 19, the functionality of each being described further
hereinbelow. Each lens may further have a full range of
navigational controls, i.e., full browser control capability.
[0057] In one embodiment, one lens may control the web content
displayed in another lens. For example, a user may use a first lens
as a search engine to conduct an informational search on any topic.
The results of the search can be directed by the first lens to be
displayed in a second lens.
[0058] In some cases, the validity of the sign-in information may
be confirmed by matching the user-entered information to user data
stored by server 16 in memory 22. The stored user data may be in
the form of a secure database (not shown) having a number of
records and fields for storing user names, passwords, company
affiliation information, a history of web pages viewed by the user,
and the like. If there is no data that matches the user-entered
information, then the user may not access the server. Otherwise,
the process 30 continues as described below.
[0059] From step 34, the user may decide to enter a new page to
view, bookmark a page, view a previous page in the user's history
or view a next page in the viewer's history. If the user chooses to
enter a new web page to view, the process continues to step 36
where the user selects the menu command button 192 from one of the
lenses 171, 173, 181, 183 in which the user chooses the web page to
be displayed. The menu command button 192 may be selected by using
a pointing device such as a mouse or by using a tab feature on the
device 2 to select the menu command button 192. The local web
browser residing on the user's device 2 then electronically
forwards the command over network connection 8 to the application
host server 16 (step 38). In response to the received command, the
server 16 can return a menu web page 175 as depicted in FIGS. 17
and 18 (step 40).
[0060] The hierarchical tree structure or menu web page 175 enables
the user to select a number of options, including selecting a
bookmark folder 172, a history folder 174, and a field 176 for
entering a URL. The menu web page may further contain a news folder
for selecting news articles or web sites, a web portal folder for
selecting a desired portal, an intranet option for selecting
intranet files, and an extranet folder for selecting extranet
files. If the user selects the bookmark folder, the process 30
continues to step 88, as discussed below with respect to FIG. 9. If
the user selects the history folder 174, the process continues to
step 96 as described below with respect to FIG. 10. Alternatively,
the user may instead enter a desired URL into URL entry field 176
(step 42) and then select the view button 178 to transmit the
requested URL to the server 16 (step 44). The process 30 then
continues to step 104 discussed below in conjunction with FIG.
11.
[0061] As described above with respect to step 34, a user may
proceed to bookmark a web page after the remote server transmits
display information to the user. In such a case, the process 30
continues to step 46 where the user selects the bookmark button 194
in a lens in which the desired web page is displayed. The browser
residing on the user's device 2 then transmits the bookmark command
to the server 16 over network connection 8 (step 48). The bookmark
command may be performed in a single step, that is, by selecting
the bookmark command button 194 without additional inputs. The
server 16 may then store the bookmark in a location which is
accessed through the user's bookmark folder 172 (step 50). The
server 16 may then refresh the current web page being viewed (step
52) which is then displayed in the appropriate lens on the user's
device 2 (step 54), after which the process 30 returns to step 34,
described above.
[0062] Referring now to FIG. 6, the process 30 may continue from
step 34 to step 56 where the user may select the backward command
button 196 in a desired lens. Similar to the back command on a
standard browser, the backward command is a request to view a
previous web page in a viewing history of the selected lens. In
response to the selection of the backward command button 196, the
web browser residing on the user's device 2 transmits the backward
command to server 16 over network connection 8 (step 58). If a
previously-viewed web page exists, the process 30 continues to step
76, discussed below with respect to FIG. 8. Otherwise, the process
30 continues to step 62 where the server 16 refreshes the current
web page being viewed, after which the refreshed web page is
displayed on the user's device 2 (step 64). The process 30 then
returns to step 34, discussed previously above.
[0063] Referring now to FIG. 7, the process 30 may continue from
step 34 to step 66 where the user may select the forward command
button 198 in a desired lens. Similar to the forward command on a
standard browser, the forward command of the system is a request to
view a subsequent web page in a viewing history of the selected
lens. In response to the selection of the forward command button
198, the web browser residing on the user's device 2 transmits the
forward command to server 16 over network connection 8 (step 68).
If a next web page exists, the process 30 continues to step 76,
discussed below with respect to FIG. 8. Otherwise, the process 30
continues to step 72 where the server 16 refreshes the current web
page being viewed, after which the refreshed web page is displayed
on the user's device 2 (step 74). The process 30 then returns to
step 34, discussed previously above.
[0064] Referring now to FIG. 8, process 30 continues from either
step 60 or 70 described above to step 76 where the server 16
transmits a request over network connection 8 to a third-party
server (e.g. web site server 10, 12, 14) which hosts the requested
web page. In response, the third-party server transmits web page
data to the server 16 (step 78). The server 16 may then process the
received data into a format suitable for transmission to the user's
device 2 (step 80). The server 16 may further add the URL
corresponding to the received data to the user's viewing history
(step 82). The server 16 then transmits web page display data to
the user including the reformatted web page data (step 84) which is
then displayed in the appropriate lens on user device 2 (step 86).
The process 30 then returns to step 34 above.
[0065] In processing the web page display data received from a
third party server, the host server can translate such data on the
fly for presentation on a user device. For example, data received
from a third party server may be in any form, including HTML, CSS,
XML, XSL, XHTML or WML. The host server can translate such data
into any other form, such as HTML or WML, for presentation on a
user's device. As discussed further below, the host server can
further reformat web page data received from a third party server
on the fly.
[0066] Turning to FIG. 9, process 30 may continue from step 40
described above to step 88, where the user selects the bookmark
folder 172 from a menu web page 175 displayed in a lens 171. The
browser on the user's device 2 then transmits a bookmark folder
request over network connection 8 to server 16 (step 90). In
response to the request, the server 16 generates a bookmark list
page showing all the bookmarks stored for the user and transmits
the data for display in the lens 171 on the user device 2 (step
92). The user may then choose one of the desired bookmarks (step
94) after which the process 30 continues to step 104, described
below with respect to FIG. 11.
[0067] Referring now to FIG. 10, the process 30 may continue from
step 40 to step 96 where the user may select the history folder 174
from the menu web page 175 displayed in the lens 171. The web
browser residing on user device 2 then transmits a request for
viewing history data to server 16 over network connection 8 (step
98). The server 16 then generates a page displaying a predetermined
number of web pages which the user has previously visited and
transmits the same for display in the lens 171 of user device 2
(step 100). The user may then select one of the web pages from the
viewing history (step 102), after which the process 30 continues to
step 104, discussed immediately below.
[0068] Referring now to FIG. 11, the process 30 may continue from
any of steps 44, 94 or 102 described above to step 104 where the
browser residing on the user's device 2 transmits a requested web
page to the server 16 over network connection 8. The server 16, in
turn, sends a request for the web page to the appropriate
third-party server, e.g. web site server 10, over network
connection 8 (step 106). The third-party server then transmits the
requested web page data back to the server 16 (step 108), after
which the process 30 continues to step 110, discussed immediately
below.
[0069] Turning now to FIG. 12, the process 30 continues to step 110
where the server 16 processes the received web page data to
generate display data wherein the requested web page will be
presented in the appropriate lens 171. The server 16 then adds the
current URL to the most recent spot in the user's viewing history
folder (step 112). Next, the server 16 transmits the generated
display data to the user device 2 over network connection 8 (step
118). Upon receipt, the web browser residing on the user's device
presents the multi-lens display to the user with the requested web
page displayed in the appropriate lens 171 (step 116). The process
30 then returns to step 34, described above. Process 30 may
continue until the user exits the browser, turns off the user
device 2, or otherwise halts communication with server 16.
[0070] In addition to providing a user with the ability to view
multiple web sites in a suitable number of lenses within a single
browser window, and to navigate through different web sites using
command buttons presented by a remote server 16, one embodiment
allows a user to maximize a selected web page within the browser
window. A process 131 for maximizing and minimizing one of a
plurality of web pages within a single browser window is presented
in FIGS. 13-15. Referring now to FIG. 13, the process 130 begins
after a user enters a URL for a host server 16 in the URL entry
line 163 of the browser residing on user device 2 which, in turn,
establishes a link to the server 16 via network connection 8. The
server 16 first transmits a sign-in page, such as the one presented
in window 160 of FIG. 16.
[0071] The user may fill in a user name and password in the
appropriate fields 162 and 164, as well as affiliation information,
if applicable, and selects the sign-in button 168 (step 132). The
local browser then transmits the sign-in request to the server 16
over network connection 8 (step 134). Upon receipt, the server 16
matches the received sign-in information to valid, stored user sign
in data, and authenticates the user if matching data is found (step
136). The server 16 may also retrieve the last web pages viewed by
the user and generates display data including at least two frames
which display the last web pages viewed (step 138). The display
information is then transmitted over network connection 8 to the
user device 2 for display to the user (step 140). The display
information may include HTML FRAME or IFRAME commands for
generating the multiple lens display. The process 130 then
continues to step 142, described immediately below.
[0072] Turning now to FIG. 14, the process 130 continues to step
142 where the user may wish to view a maximized version of a web
page displayed in one of the plurality of lenses 171, 173, 181,
183. To accomplish this, the user may select the maximize button
182 in the desired lens. The local browser then transmits the
maximize request to the server 16 over network connection 8 (step
144). In response, server 16 generates new display data in which
only the selected web page will be viewed within the browser
window. The new display data is then transmitted to the user device
2 over the network connection 8 (step 146). The resulting display
may resemble the window 200 in FIG. 20. The process 130 then
continues to step 148, discussed below.
[0073] Turning now to FIG. 15, the process continues to step 148,
where the user enters a command to minimize the web page. This may
be accomplished by selecting the minimize button 202 as displayed
in FIG. 20. The local browser transmits the minimize request to the
server 16 over the network connection 8 (step 5 150). The server 16
then generates new display data including the plurality of lenses
with the formerly maximized web page presented in its original lens
(step 152), after which the process 130 returns to step 142,
described above. Process 130 may continue until the user exits the
browser, turns off the user device 2, or otherwise halts
communication with server 16.
[0074] In another embodiment, it is possible for the server to
store multiple cookies for each lens of the user's display. Cookies
refer to files transmitted by third-party servers 10, 12, 14 and
which are typically stored in memory 22 of a user's device 2. The
cookies may serve to identify the user to the third-party server.
Rather than storing cookies on the user's device 2, the server 16
may store the cookies in the server's memory 22 and associate the
same with the particular user. Cookies may be further designated as
belonging to a particular lens of the user's multiple lens display
rather to the user in general.
[0075] In still another embodiment, the display information may be
configured by the server 16 so that substantially all the content
of a selected web page may be reformatted to fit within the display
area of a lens or browser window. Typically, a web page contains
more data than will fit within the display area of a window. In
such a case, horizontal and vertical scroll bars 187, 185 are
provided so that a user may view all the content of the web page.
However, it may be desirable to allow the user to view the entire
content at once. Accordingly, the system, method and apparatus
allow the server to reformat the display information received from
a third party server 10 so that substantially all the content of a
web page can be presented within the display area of a lens or a
local browser window. This may be accomplished by reducing the font
size of the text of the web page, compressing pixel data associated
with the web content, or in any other manner. The display data of a
selected web page may be reformatted to present substantially all
content of the web page within the display area of each lens,
either automatically or in response to a user request. A user can
request that the web page display data be reformatted to any
percentage of its original size. Alternatively, the system can be
utilized to increase the size of web page data so that it is
substantially the same size as a larger display area.
[0076] The server-side web browsing and multiple lens system,
method and apparatus enables dynamic miniaturized viewing of web
pages. The system, method and apparatus is particularly suitable
for thin-client technology where the viewing screen is on a small
scale basis, such as in a multiple lens system described herein
wherein the display area of each lens may be substantially smaller
than the browser window, or in hand-held remote access wireless
devices or PDA's.
[0077] FIG. 21 illustrates miniaturization application 210 as it is
applied to a multiple lens display in web browser 212. To view a
web page, a web browser sends a request with the appropriate URL to
the system that in turns retrieves the HTML content 214 from the
corresponding web site 216. The system applies the appropriate
transformations to the HTML content before forwarding the
reformatted or transformed HTML 218 to web browser 210. The
transformations reduce the view size of the web content so that the
web content can be easily viewed within a small size viewing
area.
[0078] The system uses cascading style sheet technology to reduce
the default text size of a web page. It also transforms the width,
height and size attributes to HTML tags such as <table>,
<td>, <img>, and <font>. In an exemplary
illustration of the transformations, the system is programmed to
reduce the view size by 50%. The system sets the default text size
using cascading style sheet to 8 point size where the normal size
is 12 point size. The system also reduces the width, height and
size attributes of HTML tags such as <table>, <td>,
<img>, and <font>, to half the original value. An
example of a reformatted web page shown in its reduced size is
illustrated in FIG. 22.
[0079] In an alternative embodiment, the system can be programmed
to automatically reduce or enlarge the view size of a web page to
any percentage of its original size, e.g., 50%, 75%, 125%, 150%,
200%. Alternatively, the system can reduce or enlarge the view size
of a web page to any percentage selected by a user.
[0080] Although illustrative embodiments have been described herein
in detail, it should be noted and understood that the descriptions
have been provided for purposes of illustration only and that other
variations both in form and detail can be made thereupon without
departing from the spirit and scope of this invention. The terms
and expressions have been used as terms of description and not
terms of limitation. There is no limitation to use the terms or
expressions to exclude any equivalents of features shown and
described or portions thereof and this invention shown be defined
with the claims that follow.
* * * * *