U.S. patent application number 13/836430 was filed with the patent office on 2013-11-21 for processing browser requests to provide multiple portions of content having consistent appearance.
This patent application is currently assigned to FACEBOOK, INC.. The applicant listed for this patent is Facebook, Inc.. Invention is credited to David Arsenault.
Application Number | 20130311542 13/836430 |
Document ID | / |
Family ID | 39596766 |
Filed Date | 2013-11-21 |
United States Patent
Application |
20130311542 |
Kind Code |
A1 |
Arsenault; David |
November 21, 2013 |
PROCESSING BROWSER REQUESTS TO PROVIDE MULTIPLE PORTIONS OF CONTENT
HAVING CONSISTENT APPEARANCE
Abstract
Processing a browser request that specifies a destination
network resource generally includes intercepting a browser request
that specifies a selected destination network resource and
redirecting the browser request to a network server that differs
from the destination resource specified by the browser request.
Processing a browser request also may include intercepting a
browser request received from a client computer at a proxy server
when the browser request specifies a selected destination network
resource and performing instructions associated with and in
addition to instructions performed to download the selected
destination network resource.
Inventors: |
Arsenault; David; (Reston,
VA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Facebook, Inc.; |
|
|
US |
|
|
Assignee: |
FACEBOOK, INC.
Menlo Park
CA
|
Family ID: |
39596766 |
Appl. No.: |
13/836430 |
Filed: |
March 15, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13835015 |
Mar 15, 2013 |
|
|
|
13836430 |
|
|
|
|
13191844 |
Jul 27, 2011 |
8539023 |
|
|
13835015 |
|
|
|
|
12172703 |
Jul 14, 2008 |
7996460 |
|
|
13191844 |
|
|
|
|
09693840 |
Oct 23, 2000 |
7401115 |
|
|
12172703 |
|
|
|
|
Current U.S.
Class: |
709/201 |
Current CPC
Class: |
H04L 45/22 20130101;
H04L 67/02 20130101; H04L 67/10 20130101; G06F 16/248 20190101;
H04L 29/06047 20130101; H04L 67/42 20130101; G06F 3/0481 20130101;
H04L 67/2814 20130101; G06F 16/9535 20190101 |
Class at
Publication: |
709/201 |
International
Class: |
H04L 29/08 20060101
H04L029/08 |
Claims
1.-11. (canceled)
12. A method comprising: receiving a browser request, wherein the
browser request specifies a first portion of content residing at a
first content source; retrieving the first portion of content from
the first content source; determining, using at least one
processor, that the browser request necessitates additional
processing; retrieving, in response to the determination that the
browser request necessitates additional processing, a second
portion of content from a second content source; and enabling
concurrent presentation of the first portion of content and the
second portion of content such that the first portion of content
and the second portion of content have a consistent appearance.
13. (canceled)
14. The method of claim 12, wherein determining, using at least one
processor, that the browser request necessitates additional
processing comprises: intercepting the browser request; and
referring to a list to determine that a domain name associated with
the browser request is included in the list.
15. The method of claim 14, wherein retrieving, in response to the
determination that the browser request necessitates additional
processing, a second portion of content from a second content
source comprises: determining that the second portion of content is
to be requested from the second content source based on the
associated domain name being included in the list; sending a
request for the second portion of content to the second content
source; and receiving the second portion of content from the second
content source.
16. The method of claim 12, wherein enabling concurrent
presentation of the first portion of content and the second portion
of content comprises enabling presentation of the second portion of
content in a universal segment of a browser user interface.
17. The method of claim 12, wherein enabling concurrent
presentation of the first portion of content and the second portion
of content such that the first portion of content and the second
portion of content have a consistent appearance comprises enabling
concurrent presentation of the first portion of content and the
second portion of content to establish a consistent appearance for
an e-commerce website.
18. The method of claim 12, wherein enabling concurrent
presentation of the first portion of content and the second portion
of content comprises enabling concurrent presentation of the first
portion of content and the second portion of content within a split
display including at least two sections, wherein the first portion
of content is displayed within a first of the at least two sections
and the second portion of content is displayed within a second of
the at least two sections.
19. The method of claim 12, further comprising customizing the
second portion of content to have an appearance consistent with a
web page that is being navigated.
20. A method comprising: receiving a browser request, wherein the
browser request specifies a first portion of content residing at a
first content source; retrieving the first portion of content from
the first content source; determining, using at least one
processor, that the browser request necessitates additional
processing; retrieving, in response to the determination that the
browser request necessitates additional processing, a second
portion of content from a second content source; customizing the
second portion of content so that the first portion of content and
the second portion of content have a consistent appearance; and
enabling concurrent presentation of the first portion of content
and the second portion of content within a browser.
21. The method of claim 20, wherein determining, using at least one
processor, that the browser request necessitates additional
processing comprises: intercepting the browser request; and
referring to a list to determine that a domain name associated with
the browser request is included in the list.
22. The method of claim 21, wherein retrieving, in response to the
determination that the browser request necessitates additional
processing, a second portion of content from a second content
source comprises: determining that the second portion of content is
to be requested from the second content source based on the
associated domain name being included in the list; sending a
request for the second portion of content to the second content
source; and receiving the second portion of content from the second
content source.
23. The method of claim 20, wherein enabling concurrent
presentation of the first portion of content and the second portion
of content within a browser comprises enabling presentation of the
second portion of content in a universal segment of a browser user
interface.
24. The method of claim 20, wherein enabling concurrent
presentation of the first portion of content and the second portion
of content within a browser comprises enabling concurrent
presentation of the first portion of content and the second portion
of content to establish a consistent appearance for an e-commerce
website.
25. The method of claim 20, wherein enabling concurrent
presentation of the first portion of content and the second portion
of content comprises enabling concurrent presentation of the first
portion of content and the second portion of content within a split
display including at least two sections, wherein the first portion
of content is displayed within a first of the at least two sections
and the second portion of content is displayed within a second of
the at least two sections.
26. The method of claim 20, wherein customizing the second portion
of content so that the first portion of content and the second
portion of content have a consistent appearance comprises
customizing the second portion of content to have an appearance
consistent with a web page that is being navigated.
27. A computer program product for use at a computer system, the
computer program product comprising one or more non-transitory
computer readable storage media having stored thereon
computer-executable instructions that, when executed at a
processor, cause the computer system to: receive a browser request,
wherein the browser request specifies a first portion of content
residing at a first content source; retrieve the first portion of
content from the first content source; determine that the browser
request necessitates additional processing; retrieve, in response
to the determination that the browser request necessitates
additional processing, a second portion of content from a second
content source; and enable concurrent presentation of the first
portion of content and the second portion of content such that the
first portion of content and the second portion of content have a
consistent appearance when presented on a display device.
28. The computer program product of claim 27, wherein
computer-executable instructions that, when executed, cause the
computer system to determine that the browser request necessitates
additional processing comprise computer-executable instructions
that, when executed, cause the computer system to: intercept the
browser request; and refer to a list to determine that a digital
identifier associated with the browser request is included in the
list.
29. The computer program product of claim 28, wherein
computer-executable instructions that, when executed, cause the
computer system to retrieve, in response to the determination that
the browser request necessitates additional processing, a second
portion of content from a second content source comprise
computer-executable instructions that, when executed, cause the
computer system to: determine that the second portion of content is
to be requested from the second content source based on the
associated domain name being included in the list; send a request
for the second portion of content to the second content source; and
receive the second portion of content from the second content
source.
30. The computer program product of claim 27, wherein
computer-executable instructions that, when executed, cause the
computer system to enable concurrent presentation of the first
portion of content and the second portion of content comprise
computer-executable instructions that, when executed, cause the
computer system to enable concurrent presentation of the first
portion of content and the second portion of content within a split
display including at least two sections, wherein the first portion
of content displayed within a first of the at least two sections
and the second portion of content is displayed within a second of
the at least two sections.
31. The computer program product of claim 27, further comprising
computer-executable instructions that, when executed, cause the
computer system to customize the second portion of content to have
an appearance consistent with a web page that is being
navigated.
32. The computer program product of claim 27, wherein the computer
system is one of: a client computer or a proxy server.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 13/835,015, filed Mar. 15, 2013, titled
"Processing Selected Browser Requests", which is a continuation of
U.S. patent application Ser. No. 13/191,844, filed Jul. 27, 2011,
titled "Processing Selected Browser Requests", which is a
continuation of U.S. patent application Ser. No. 12/172,703, filed
Jul. 14, 2008, titled "Processing Selected Browser Requests", now
issued as U.S. Pat. No. 7,996,460, which is a continuation of U.S.
application Ser. No. 09/693,840, filed Oct. 13, 2000, titled
"Processing Selected Browser Requests", now issued as U.S. Pat. No.
7,401,115. The contents of each of the aforementioned applications
and patents are hereby incorporated by reference in their
entirety.
TECHNICAL FIELD
[0002] The present invention generally relates to processing
selected browser requests.
BACKGROUND
[0003] Internet use has become increasingly pervasive in recent
years. Resources available on the Internet include electronic
content and services. Internet resources may be accessed using a
browser and an Internet service provider (ISP). An ISP includes a
computer or group of computers that enable a physical connection
between the Internet and the computer of a person seeking access to
the Internet ("client computer"). A browser is a software tool
installed on the client computer and designed to enable
communications over the physical connection established by the ISP.
In this manner, the browser and ISP may be used together to allow
communications between the client computer and other computers that
are connected to the Internet.
[0004] More specifically, a web browser is a program that enables
requests to be made of web servers connected to the Internet using
a Hypertext Transfer Protocol (HTTP), an application layer protocol
for exchanging files on the World Wide Web (www) that is defined in
Internet standard RFC 2068. The browser displays web pages provided
in response to these requests. A browser may also be used for
displaying documents described using the Hypertext Markup Language
(HTML).
[0005] A single web page may be composed of several different files
potentially of different data types (for example, text, graphics,
images, virtual worlds, sounds, and movies). In addition, a web
page can include links pointing to other resources available on the
network (for example, web pages or individual files). Links can be
displayed as text strings, as graphical images, or as combinations
of the two. Each link has a network address or uniform resource
locator (URL), which is essentially a pointer to network resources
that is defined by Internet standard RFC 1738.
[0006] When a user clicks on or otherwise selects a displayed link,
the browser automatically retrieves the web page (or other
resource) corresponding to the link's associated URL and displays
or executes that link. A computer operator may also access desired
Internet resources using browser requests that typically include a
domain name corresponding to one or more destination servers
storing desired Internet resources, e.g., www.jcrew.com or
www.dell.com. Browser requests may also include the URL of specific
web pages stored on those destination servers, e.g.,
www.jcrew.com/homepage.html. In either case, a browser request may
be satisfied by mapping a specified domain name or URL to a
corresponding destination server.
SUMMARY
[0007] In one aspect, generally, processing a browser request that
specifies a destination network resource generally includes
intercepting a browser request that specifies a selected
destination network resource and redirecting the browser request to
a network server that differs from the destination resource
specified by the browser request.
[0008] Implementations may include one or more of the following
features. For example, the intercepting may include routing the
browser request to a proxy server including a list of selected
network resources, comparing the browser request to the list of
selected network resources, and intercepting the browser request
when the browser request includes one or more of the selected
network resources that are specified by the list. The redirecting
may include comparing the browser request to a list that includes
instructions associated with the destination resource and
performing the instructions associated with the destination
resource. Performing the instructions may include displaying
content that differs from the destination resource; adding content
to the destination resource and displaying the destination resource
that includes the added content; and displaying content from the
destination resource from a network server that differs from the
destination resource.
[0009] In another general aspect, processing a browser request also
may include intercepting a browser request received from a client
computer at a proxy server when the browser request specifies a
selected destination network resource and performing instructions
associated with, and in addition to, instructions performed to
download the selected destination network resource.
[0010] Other features and advantages will be apparent from the
description, including the drawings, and from the claims.
DESCRIPTION OF DRAWINGS
[0011] FIG. 1A is a block diagram of a system capable of processing
filtered browser requests.
[0012] FIGS. 1B and 1C illustrate, respectively, a trap list and an
instruction list used by the system of FIG. 1A.
[0013] FIGS. 2A and 2B are flowcharts showing processes performed
to process filtered browser requests.
[0014] FIGS. 3A and 3B are block diagrams showing components within
a system capable of processing filtered browser requests.
[0015] FIGS. 4A-4E are illustrations of views presented to online
operators that submit filtered browser requests.
DETAILED DESCRIPTION
[0016] It is possible to enhance or replace the content and/or
functionality of a desired Internet resource by intercepting
selected browser requests and redirecting those browser requests to
resources that differ from the desired Internet resource. In one
implementation, a proxy server is used to intercept browser
requests, compare the intercepted browser requests against selected
domain names, redirect browser requests that include selected
domain names to a jump server other than the server containing the
requested resource, and process those browser requests to provide
content or functionality other than that of the destination
resource. In another implementation, rather than using a proxy
server, software is provided on a client computer to intercept
selected browser requests and redirect those requests to the jump
server. In yet another implementation, rather than using a jump
server, software is provided on the proxy server for intercepting
and processing browser requests to provide content or functionality
that differs from the content and functionality provided by the
destination resource.
[0017] In each of these implementations, the browser request may be
redirected to a resource other than the destination resource, e.g.,
a server other than the destination server or a uniform resource
locator (URL) other than the destination URL. The browser request
may also be processed such that content is provided in addition to
the content of the destination resource. For example, for selected
browser requests, the display may be reconfigured to add one or
more windows other than the window used to display content from the
destination resource. These windows may overlay the window used to
display content from the destination resource, or they may be
arranged for display in addition to that window (e.g., windows
positioned adjacent the window used to display content from the
destination resource).
[0018] FIG. 1A shows a computer system 100 capable of filtering and
processing browser requests. The system 100 includes a client
computer 110, a proxy server 120, a network 130, a destination
server 140, and a jump server 150.
[0019] Client computer 110 is typically implemented in a personal
computer (PC), laptop computer, or workstation computer. Client
computer 110 includes hardware and software that allows an operator
to perform various tasks, such as communicating with other
computers and their operators, accessing resources stored on the
computer or other accessed computers, and viewing, creating, and
manipulating electronic content (e.g., any combination of text,
images, movies, music or other sound, animations, 3D virtual
worlds, and links to other objects). More specifically, client
computer 110 includes various input/output (I/O) devices (e.g.,
mouse, keyboard, microphone, video input/output, touchscreen input,
display and modem). Client computer 110 also generally includes a
general or special purpose computer having a central processor unit
(CPU), I/O ports and drivers, memory, and storage devices. Examples
of memory devices include volatile and/or non-volatile devices such
as flash memory, random access memory (RAM), read-only memory
(ROM), programmable read-only memory (PROM), erasable PROMs, and
electrically erasable PROMs. Examples of storage devices include
floppy disk drives, compact disk (CD) drives, digital versatile
disk (DVD) drives, permanent (hard) disk drives of magnetic and
optical types, and tape or backup drives.
[0020] The storage of client computer 110 includes software for
accessing an Internet service provider (ISP), which software
enables communications with network resources over a modem or other
telecommunications devices. The software includes a browser that is
used by operators of the client computer 110 to generate requests
for network resources accessed by the modem or telecommunications
devices. Using browser software, client computer 110 is able to
access the electronic content and resources stored locally within
its own storage and memory, or the electronic content and resources
stored on remote computers, which may represent client computers of
other users or destination servers such as that shown by reference
numeral 140.
[0021] Proxy server 120 is an intermediary that is positioned
between client computer 110 and network resources (e.g.,
destination server 140 and jump server 150). Typically, an IP
address for proxy server 120 is specified as a configuration option
for the browser or other protocol program. Once this address is
specified, communications between client computer 110 and network
130 are routed through proxy server 120. Proxy server 120 is
invisible to the operator of client computer 110, as all network
requests and returned responses appear to be directly sent or
received from the addressed destination server. An example of a
proxy server 120 includes Internet service provider (ISP)
computers, where communications between client computer 110 and the
Internet are routed through the ISP computers.
[0022] Proxy server 120 can be configured to provide security,
administrative control, and caching services. Proxy server 120 may
be associated with, or be part of, a gateway that separates an
internal network of client computers 110 from external network 130,
and may provide a firewall that protects the internal network from
outside intrusion.
[0023] Proxy server 120 generally includes a cache of previously
downloaded network resources (e.g., web pages). When a browser
request from client computer 110 is received by proxy server 120,
the proxy server filters each request against the cache of
previously downloaded network resources. If a match exists between
the browser request and a cached network resource, proxy server 120
is able to generate and return a response to client computer 110
without forwarding the browser request to network 130. Conversely,
if the browser request does not match a cached network resource,
proxy server 120 uses one of its own IP addresses to request the
network resource from destination server 140 over network 130, with
proxy server 120 acting as a client on behalf of client computer
110. When the requested network resource is returned to proxy
server 120, that network resource is forwarded to client computer
110. In the implementation of FIG. 1A, proxy server 120 includes
one or more trap lists 120a that are used for comparison against
browser requests received from the browser software on client
computer 110.
[0024] FIG. 1B provides an example of a trap list 120. This
particular trap list 120a shows a list of domain names against
which browser requests from client computer 110 are compared and
with which browser requests including selected domain names (a
"selected browser request") are identified. Trap list 120a also may
include other criteria against which browser requests may be
compared, such as, for example, uniform resource locators (URLs).
Furthermore, as an alternative or complement to trap list(s) 120a,
proxy server 120 may include other search and/or filtering criteria
or algorithms used to identify selected browser requests. In any
event, the proxy server 120 specifies one or more destinations for
browser requests discriminated by the trap list 120a or other
search and filtering criteria.
[0025] Network 130 is positioned between client computer 110 and
network resources at destination server 140 and enable electronic
communications between them. Typically, network 130 includes an
intranet, a local area network (LAN), a wide area network (WAN)
such as the Intranet, or some combination of these components.
[0026] Destination server 140 is a computer that is electrically
coupled with network 130 and stores selected resources (e.g.,
content and services) and provides client computers 110 access to
those selected network resources in response to browser requests.
Typically, a destination server 140 is identified by a domain name
and is accessed in response to browser requests including that
domain name. An example of a destination server 140 is a host
computer that provides subscribers with online computer services
such as e-mail, e- commerce, chat rooms, Internet access, and
electronic newspapers and magazines. Users of services offered by a
host computer typically communicate with one or more central
servers through client software executing on their respective
client computers 110.
[0027] Jump server 150 is a computer that is also connected to
network 130. In the implementation shown in FIG. 1A, jump server
150 receives browser requests trapped by proxy server 120. Jump
server 150 includes an instruction list 150a that associates
trapped browser requests with processing instructions that differ
from the processing instructions included at the destination server
specified in the browser requests.
[0028] FIG. 1C provides an example of an instruction list 150a.
This particular instruction list 150a specifies a series of domain
names and related processing instructions. For example, the domain
http://sportsmansguide.com is associated with three processing
instructions: (1) {{ADP file} framesetadp}--a file with
instructions for splitting the display window before displaying
content from sportsmansguide.com, (2) {{Real URL}
http/www.sportsmansguide.com/?}--a command for displaying the
destination server resource in a first of the split windows, and
{enabled t} {title "Sportsman's Guide"}--a file for displaying a
shopping bar in the second split window with the title "Sportsman's
Guide." Other domains within the instruction list are generally
associated with processing instructions that differ from the
processing instructions specified for the www.sportsmansguide.com
domain, although they may be the same as those instructions. In
this manner, it is possible to use the instruction list to
supplement the content of the destination resource.
[0029] Typically, proxy server 120, destination server 140, and/or
jump server 150 will not be single monolithic entities. Rather,
each will include several interconnected server computers to
distribute load. Each interconnected server computer may be
dedicated to performing independent or duplicative operations,
and/or to particular geographic regions or characteristics.
[0030] FIG. 2A shows several steps used to process selected browser
requests. In FIG. 2A, when an online operator enters a browser
request (step 210), the browser request is filtered (step 220).
Non-selected browser requests are routed to the destination
resources specified by the browser requests (step 230) and selected
browser requests are redirected to provide content or functionality
other than that of the destination resource (step 240).
[0031] More specifically, online operators enter browser requests
(step 210) using browser software stored and run by client computer
110. A typical browser request includes the domain name of a
destination server upon which a resource is located. For example, a
browser request for resources located on the destination server
identified as www.jcrew.com may include that domain name.
Furthermore, if specific resources are requested from particular
html pages ("webpages") of the destination resource, the URL
corresponding to those webpages may also be included in the browser
request. An example of a browser request including a URL for a
desired resource is www.jcrew.com/homepage.html.
[0032] Selected browser requests are then identified for additional
processing using filtering techniques (step 220). For instance, in
the implementations described with respect to FIGS. 1A and 3A, the
browser requests are routed to proxy server 120. At the proxy
server 120, the browser requests are compared against a trap list
120a that includes criteria such as domain names and/or URLs of
selected resources. However, in other implementations, such as the
one shown in FIG. 3B, the browser request may be compared to a trap
list located at the client computer. In each of these
implementations, other searching and filtering criteria may be used
to identify selected browser requests. For example, domain
extensions (.com, .gov, .edu) may be used as search/filtering
criteria.
[0033] When a browser request is not identified for additional
processing according to the filtering techniques (step 220), that
browser request is routed to the specified destination resource to
be processed in accordance with conventional methodologies (step
230). That is, when a browser request is not identified as a
selected browser request, the destination server is accessed and
the destination resource is downloaded without additional
processing.
[0034] Conversely, when a browser request is selected for
additional processing (step 220), the browser request is redirected
to a jump server that is programmed to provide content and/or
functionality other than that of the specified destination resource
(step 240). For instance, FIG. 2B describes one implementation of
step 240, where selected browser requests are re-routed from the
destination server specified by the browser request (step 242),
appropriate additional processing is identified for the browser
requests (step 244), and the identified processing is performed
with respect to each browser request (step 246).
[0035] More specifically, in step 242, selected browser requests
are routed to one or more jump servers that differ from the
destination servers specified by the browser requests. The jump
servers are generally identified by trap lists or other filtering
criteria used to discriminate the selected browser requests.
Although the selected browser requests are typically routed to a
single jump server or single bank of jump servers, it is also
possible to route the selected browser requests to several
different jump servers.
[0036] In step 244, instruction sets included on the jump server
are used to identify processing appropriate for the selected
browser requests. For instance, an example instruction list is
shown by FIG. 1C and described above. By matching the browser
request against the information in an instruction list on the
destination jump server specified for the browser request, a set of
process instructions appropriate for the selected browser request
may be identified.
[0037] In step 246, the instructions specified in the instruction
list for the selected browser request are performed. Depending upon
the instructions provided in the instruction list, it is possible
to change the domain name of a destination server to a domain name
that enables evaluation of browser activities with respect to goods
or services associated with host of the domain server. For
instance, if a browser request specifies www.jcrew.com, the browser
request may be re-routed to www.jcrew.com/aol, which domain enables
tracking of browser activities with respect to the JCREW website.
Alternatively, it is possible to split a window and to display a
toolbar or additional content (e.g., advertising) for domain names
and URLs specified in selected browser requests.
[0038] For instance, as described with respect to the sample
instruction provided in the example instruction list provided by
FIG. 1C, the domain http://sportsmansguide.comis associated with
three processing instructions. The first instructions {{ADP
file}frameset.adp} split the display window before displaying
content from sportsmansguide.com. The second instructions are
commands for displaying the destination server resource in a first
of the split windows, and the third instructions are commands for
displaying a shopping bar in the second split window.
[0039] FIGS. 3A and 3B show components of alternative systems for
processing filtered browser requests. The systems of FIGS. 3A and
3B operate similarly to the system 100, with differences noted
below.
[0040] In the implementation of FIG. 3A, jump server 150 is
eliminated for purposes of the described operations, and
instruction list 150a is included on proxy server 120, replacing
trap list 120a. With this configuration, browser requests received
by proxy server 120 from client computer 110 are compared against
instruction list 150a in a manner similar to the process of
comparing received browser requests against trap list 120a
described above in step 220 of FIG. 2A. Browser requests
identifying selected network resources are then processed by proxy
server 120 according to the processing performed by jump server 150
in the implementation of FIG. 1A, which is described above with
respect to step 240 of FIG. 2A and steps 244 and 246 of FIG.
2B.
[0041] In the implementation of FIG. 3B, proxy server 120 is
eliminated for purposes of the described filtering operations, and
trap list 120a is stored at client computer 110. As such, browser
requests are compared with the trap list 120a before being sent
from client computer 110, and browser requests identifying selected
network resources are re-routed by client computer 110 to jump
server 150 for further processing.
[0042] The system and process described above find particular
utility when applied to facilitate online shopping (also known as
electronic commerce, or more familiarly e- commerce). Specifically,
using the concepts described above, a toolbar enabling relevant
shopping tools may be combined with merchant web pages. For the
user, this combination enables one-click access to key tools and
support information. By customizing the toolbar appearance, it is
possible to use this technology to establish a consistent,
universal appearance for users navigating e-commerce web sites.
[0043] FIGS. 4A-4E illustrate examples of displays created by
splitting windows and enhancing the content of destination servers
and resources in the manner described with respect to FIGS. 2A and
2B.
[0044] Referring to FIG. 4A, a representative toolbar layout
illustrates one embodiment of a proxy-fed toolbar 400 that would
appear as a banner in the upper portion of the computer screen as a
horizontal strip that extends across the entire computer screen,
from left to right.
[0045] In a preferred implementation, the proxy-fed toolbar 400
consists of two segments: a "Universal" segment 405, which
corresponds to the upper half of the toolbar, and a "Site" segment
410, which corresponds to the lower half of the toolbar.
[0046] The Universal segment 405 of the proxy-fed toolbar 400
contains several features. First, it displays the brand name of the
online service provider, for example, the "ShopAOL" brand 415. The
brand image links to the main web page of that brand's shopping
main page.
[0047] The Universal segment 405 of the toolbar 400 also contains a
single-selection drop-down menu'420 containing some or all shopping
categories, listed in alphabetical order. Exemplary shopping
categories include the following: Apparel, Arts and Collectibles,
Auctions & Outlets, Auto Center, Computing Center, Consumer
Electronics, Entertainment, Food and Gourmet, Gift Center, Health
and Beauty, Home and Garden, Home Office & Business, Jewelry
& Accessories, Kids, Pet Center, and Sports & Outdoor.
[0048] The Universal segment of the toolbar contains a "Go" button
425. When a user clicks on the "Go" button X25, a new browser
request is entered to again invoke the above described
processes.
[0049] The Universal segment of the toolbar contains a "Customer
Service" link 430. When a user clicks on the "Customer Service"
button 430, an electronic link to a menu web page is activated. The
Customer Service web page provides a user with several options
designed to address typical customer concerns.
[0050] The Universal segment of the toolbar contains an "AOL
Guarantee" link 435. When a user clicks on the "AOL Guarantee"
button 435, an electronic link to a web page containing a guarantee
is displayed that is designed to provide the customer with
protection in the event of unfair treatment by a merchant.
[0051] The Universal segment of the toolbar contains a "Buying
Guides" link 440. The Buying Guides link 440 is shown as a question
mark ("?") on the toolbar. When a user clicks on the Buying Guides
link 440, an electronic link to a web page designed to assist the
user with navigating through the web site and to find appropriate
merchants for the shopping needs of the user is activated.
[0052] In another embodiment, the toolbar contains a "Quick
Checkout" link. The Quick Checkout link is designed to accelerate
the process of transacting business. Further details on the Quick
Checkout link are described in provisional application No.
60/160,874 filed Oct. 22, 1999 and the utility application filed
concurrently with this application, which is titled "Sharing the
Personal Information of a Network User With Resources Accessed By
That Network User." Both of these applications are incorporated by
reference in their entirety.
[0053] The site segment of the toolbar contains a "Department
History" link 445. When a user clicks on the Department History
link, a menu containing the shopping categories (see the shopping
category drop-down menu option 420, described above) appears, and
the user can select which shopping category is of interest. After
the user selects a category, a display appears showing which
merchants within that category have been previously accessed by the
user in reverse chronological order. Each item in the display is a
hyperlink to the merchant's web site. The Department History link
445 is thus intended to assist the user by recognizing that
shoppers often will patronize merchants that they have patronized
before.
[0054] The Site segment of the toolbar contains a "Back to
<Merchant>" link 450. The Back to Merchant link 450 enables a
user to quickly return to the most recently visited merchant site,
by clicking on the link.
[0055] The Site segment of the toolbar contains a Search interface,
including an input box 455 and a "Search" button 460. The Search
input box 455 can accept strings of at least a predefined number
(e.g., 30) characters. After a user enters a string into the input
box 455, the user then clicks on the Search button 460, and a
keyword search is performed upon the merchant web sites that are
accessible via the toolbar. In this manner, a customer can easily
search for an item of interest.
[0056] FIG. 4B illustrates a window displayed in response to a
browser request for www.jcrew.com, where the destination server is
displayed on only a portion of the screen. In the FIG. 4B example,
the window is split into an upper window and a lower window. While
the destination server is accessed and appropriate contents from
the destination server are displayed in one of the windows (lower),
a toolbar is formed in the upper window to enable improved
functionality. The content of the toolbar may vary site-to-site
based on various criteria. For instance, the toolbars of FIGS. 4B
and 4C differ slightly, FIG. 4B generally corresponding to member
or affiliate web sites and FIG. 4C generally corresponding to
non-member web sites.
[0057] Similarly, FIGS. 4D and 4E are used to illustrate additional
content that may be delivered based on the identification of
selected destination servers. In FIG. 4D, a toolbar similar to that
of FIG. 4B is provided. However, in FIG. 4E, a toolbar is enhanced
with a rating for services and content provided by the domain
specified by the browser. This additional content may be
immediately apparent during the initial rendering of the display,
or it may be added to the display in the form of an update. In this
manner, processing may be performed to identify or determine the
information to be supplementally displayed without delaying the
display expected by the user, and without requiring the display to
completely refresh when the supplemental information becomes
available.
[0058] A number of embodiments of the invention have been
described. Nevertheless, it will be understood that various
modifications may be made without departing from the spirit and
scope of the invention. For example, other toolbars may contain
additional features. Accordingly, other embodiments are within the
scope of the following claims.
* * * * *
References