U.S. patent application number 12/119317 was filed with the patent office on 2008-11-20 for method and system for continuation of browsing sessions between devices.
Invention is credited to Sang-Heun Kim, Charles Laurence Stinson.
Application Number | 20080289029 12/119317 |
Document ID | / |
Family ID | 40028558 |
Filed Date | 2008-11-20 |
United States Patent
Application |
20080289029 |
Kind Code |
A1 |
Kim; Sang-Heun ; et
al. |
November 20, 2008 |
METHOD AND SYSTEM FOR CONTINUATION OF BROWSING SESSIONS BETWEEN
DEVICES
Abstract
A system and method are provided for continuing a browsing
session initiated with a first client machine and a web site. The
browsing session may be continued on a second client machine by
tracking the navigation history associated with the browsing
session of the first client machine. The navigation history
comprises at least an address of a last viewed web page of the web
site. Continuation of the browsing session is further facilitated
by collecting at least one web cookie during the browsing session
that is dependent upon the interaction between the first client
machine and the web site. In this way, in order to allow switching
between client machines to continue the browsing session, the
navigation history and the at least one web cookie is provided from
the second client machine to the web site to restore and resume the
browsing session at the point that it was previously
terminated.
Inventors: |
Kim; Sang-Heun;
(Mississauga, CA) ; Stinson; Charles Laurence;
(Mississauga, CA) |
Correspondence
Address: |
GOWLING LAFLEUR HENDERSON LLP
SUITE 1600, 1 FIRST CANADIAN PLACE, 100 KING STREET WEST
TORONTO
ON
M5X 1G5
CA
|
Family ID: |
40028558 |
Appl. No.: |
12/119317 |
Filed: |
May 12, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60924503 |
May 17, 2007 |
|
|
|
Current U.S.
Class: |
726/12 ;
709/228 |
Current CPC
Class: |
G06F 16/9577 20190101;
G06Q 10/06 20130101; G06Q 10/10 20130101 |
Class at
Publication: |
726/12 ;
709/228 |
International
Class: |
G06F 15/173 20060101
G06F015/173; G06F 21/00 20060101 G06F021/00 |
Claims
1. A method of continuing a browsing session associated with a
first client machine and a web site on a second client machine, the
method comprising: tracking a navigation history associated with
the browsing session, the navigation history comprising an address
of a last viewed web page of the web site; collecting at least one
web cookie during the browsing session, the at least one cookie
dependent upon interaction between the first client machine and the
web site; and providing the navigation history and the at least one
web cookie for the second client machine to restore the browsing
session.
2. The method of claim 1, further comprising: tracking formatting
information of the web page as formatted by the first client
machine and associated with the navigation history; and storing the
formatting information for providing to the second client machine
to restore the browsing session to provide the formatted web
page.
3. The method of claim 1, wherein the navigation history further
comprises web page addresses of each web page visited during the
browsing session.
4. The method of claim 1, wherein the at least one web cookie
comprises data selected from the group consisting of: a browsing
session identification; a user identification associated with the
browsing session; a first client machine identification; user
preference information associated with the browsing session and the
web site; and a user login information associated with the browsing
session.
5. The method of claim 1, further comprising maintaining a
relational database for data received from the web site during the
browsing session, the data received from the web site comprising
the at least one web cookie.
6. The method of claim 5, further comprising: providing a gateway
between each of the first client machine, the second client machine
and the web site; receiving requests on the gateway for restoring
the browsing session from the second client machine; retrieving the
at least one web cookie from the relational database and providing
a transaction continuance package from the gateway to the second
client machine, the transaction continuance package comprising the
stored at least one web cookie and the navigation history for
providing to the web site to restore the browsing session.
7. The method of claim 6, further comprising: tracking a state of a
transaction initiated by the first client machine on the web site
during the browsing session; and storing the state associated with
the navigation history and the at least one web cookie for
providing to the second client machine to facilitate continuing the
browsing session to complete the transaction.
8. The method of claim 1, further comprising transmitting the at
least one web cookie and the navigation history from the first
client machine to the second client machine, such that the second
client machine transmits the at least one web cookie to the web
site associated with the navigation history to restore the browsing
session on the second client machine.
9. The method of claim 8 wherein the web site comprises an
e-commerce web site and wherein the web page is for conducting a
transaction.
10. The method of claim 8 wherein one of the first client machine
or the second client machine comprises a wireless mobile
device.
11. A system for continuing a browsing session associated with a
first client machine and a web site on a second client machine, the
system comprising: at least one computing device comprising a
processor and a memory coupled thereto, said memory storing
instructions and data for configuring the processor to: track a
navigation history associated with the browsing session, the
navigation history comprising an address of a last viewed web page
of the web site; collect at least one web cookie during the
browsing session, the at least one web cookie dependent upon
interaction between the first client machine and the web site; and
provide the navigation history and the at least one web cookie for
the second client machine to restore the browsing session.
12. The system of claim 11, wherein the processor is further
configured to: track formatting information of the web page
formatted by the first client machine and associated with the
navigation history; and store the formatting information for
providing to the second client machine to restore the browsing
session to provide the formatted web page.
13. The system of claim 11, wherein the navigation history further
comprises web page addresses of each web page visited during the
browsing session.
14. The system of claim 11, wherein the at least one web cookie
comprises data selected from the group consisting of: a browsing
session identification; a user identification associated with the
browsing session; a first client machine identification; user
preference information associated with the browsing session and the
web site; and a user login information associated with the browsing
session.
15. The system of claim 11, further comprising a relational
database maintained for storing the data received from the web site
during the browsing session, the data received from the web site
comprising the at least one web cookie.
16. The system of claim 15, further comprising a gateway between
each of the first client machine, the second client machine and the
web site; each of the gateway, the first client machine and the
second client machine configured as one of the at least one
computing devices, each of the first and the second client machines
configured to request at least some of the web pages of the web
site via the gateway; and the second client machine configured to
communicate with the gateway for restoring the browsing
session.
17. The system of claim 16, wherein upon receiving a request for
restoring the session from the second client machine, the gateway
is further configured to: retrieve the at least one web cookie from
the relational database and provide a transaction continuance
package to the second client machine, the transaction continuance
package comprising the stored at least one web cookie and the
navigation history for providing to the web site to restore the
browsing session.
18. The system of claim 17, wherein the instructions and data of
the gateway configure the processor of the gateway to: track a
state of a transaction initiated by the first client machine on the
web site during the browsing session; and store the state
associated with the navigation history and the at least one web
cookie for providing to the second client machine to facilitate
continuing the browsing session to complete the transaction.
19. The system of claim 11, wherein each of the first and the
second client machine are configured as one of the at least one
computing devices, the instructions and the data of the first
client machine configuring its processor to provide the at least
one web cookie and the navigation history from the first client
machine to the second client machine, such that the instructions
and the data of the second client machine configure its processor
to transmit the at least one web cookie to the web site associated
with the navigation history to restore the browsing session on the
second client machine.
20. The system of claim 19, wherein the computing device comprises
a wireless mobile device.
21. The system of claim 19, wherein the web site is an e-commerce
site and wherein the web page is for conducting a transaction.
22. A computer program product for continuing a browsing session
associated with a first client machine and a web site on a second
client machine, the computer program product for storing computer
readable instructions which when executed by a computer processor
configure the processor to: track a navigation history associated
with the browsing session, the navigation history comprising an
address of a last viewed web page of the web site; collect at least
one web cookie during the browsing session, the at least one cookie
dependent upon interaction between the first client machine and the
web site; and provide the navigation history and the at least one
web cookie for the second client machine to restore the browsing
session.
23. A method of conducting an e-commerce transaction between a
wireless mobile device and an e-commerce web site, said method
comprising: tracking a navigation history associated with the
e-commerce transaction, the navigation history comprising an
address of a last viewed web page of the e-commerce web site;
collecting at least one web cookie during the browsing session, the
at least one web cookie dependent upon interaction between the
wireless mobile device and the e-commerce web site to conduct the
e-commerce transaction; and providing the navigation history and
the at least one web cookie for a computing device to restore and
complete the e-commerce transaction.
24. A system for continuing a browsing session associated with a
first client machine and a web site on a second client machine, the
system comprising: said first client machine configured to initiate
the browsing session; a gateway coupled between the web site and
each of the first and the second client machine, the gateway
configured to: receive a request from the second client machine for
continuing the browsing session; retrieve a navigation history
associated with the browsing session of the first client machine,
the navigation history comprising an address of a last viewed web
page of the web site; retrieve at least one web cookie provided
from the web site upon interaction between the first client machine
and the web site; and provide the at least one web cookie and the
navigation history to the web site in association with the second
client machine for continuing the browsing session and restoring
the last viewed web page.
25. A system for continuing a browsing session associated with a
first client machine and a web site on a second client machine, the
system comprising: said first client machine configured to initiate
the browsing session; a gateway coupled between the web site and
each of the first and the second client machine, the gateway
configured to: receive a request from the second client machine for
continuing the browsing session; retrieve a navigation history
associated with the browsing session of the first client machine,
the navigation history comprising an address of a last viewed web
page of the web site; retrieve at least one web cookie provided
from the web site upon interaction between the first client machine
and the web site; and provide the at least one web cookie and the
navigation history to the web site in association with the second
client machine for continuing the browsing session and restoring
the last viewed web page.
Description
CROSS-REFERENCE
[0001] This application claims the benefit of the prior filing of
U.S. Provisional Patent Application Ser. No. 60/924503 filed May
17, 2007, the disclosure of which is incorporated herein by
reference.
COPYRIGHT
[0002] A portion of the disclosure of this patent document contains
material which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction by anyone of
the patent document or patent disclosure, as it appears in the
Patent and Trademark Office patent file or records, but otherwise
reserves all copyright rights.
FIELD
[0003] The present application relates generally to
telecommunications and more particularly to a system and method for
continuation of browsing sessions between devices.
BACKGROUND
[0004] Web sites host and provide information using web pages that
are communicated electronically via a telecommunications network.
Examples of such computing devices include portable computing
devices that include wireless network browsing capability as well
as telephony and personal information management capabilities.
Often, users have several different computing devices (e.g. one or
more portable computing devices and one or more desktop computers)
to connect to and browse various web sites. For example, a user may
have access to one type of computing device at home and another
computing device at work.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 is a schematic representation of a system for content
navigation;
[0006] FIG. 2 is a schematic representation of a wireless
communication device from FIG. 1; and
[0007] FIG. 3 illustrates an exemplary flow of interactions among
components of the system of FIG. 1 for implementing continuance of
sessions between client machines.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0008] In one aspect, it may be desirable to allow a user to switch
between computing devices and continue a browsing session started
on another computing device. Accordingly there are provided a
method and system for facilitating switching between computing
devices such as to resume the browsing session. Accordingly, the
system and method allow continuing a browsing session initiated
with a first client machine and a web site. The browsing session
may be continued on a second client machine by tracking the
navigation history associated with the browsing session of the
first client machine. The navigation history comprises at least an
address of a last viewed web page of the web site. Continuation of
the browsing session is further facilitated by collecting at least
one web cookie during the browsing session that is dependent upon
the interaction between the first client machine and the web site.
The collected at least one web cookie and the navigation history
may be provided to the second client machine such as to allow the
second client machine to continue the browsing session that was
previously terminated.
[0009] Referring now to FIG. 1, there is illustrated a system 100
for content navigation via a telecommunications network. In a
present embodiment, the system 100 comprises a plurality of client
computing devices in the form of client machines 102A and 102B
(collectively 102). System 100 further comprises a web server 106
hosting a web site (designated generally as 104) stored on web
server 106. Devices 102 may be respectively coupled to communicate
with a gateway 120 to obtain web pages (e.g. 110) from the web site
104. Alternatively, the gateway 120 may not be present in the
system 100 and devices 102 may communicate directly with the web
server 106 via a telecommunications network to request and obtain
the selected web pages (e.g. 110).
[0010] In the present embodiment, the web site 104 may be stored on
the web server 106 serving web pages (e.g. 110). For ease within
the present embodiment, only a single web site 104 is shown;
however, in another embodiment a plurality of different web sites
may be so coupled. The gateway 120 may also be coupled to a
database 126 for retrieving/storing data associated with the client
machines 102 or web sites or both in accordance with the gateway's
120 operations. The database may be a relational database storing
extracted data from web sites or navigation history 136 and cookies
134 associated with the client machines 102 or both. The stored
data can be accessed by a Structured Query Language (SQL) to
retrieve desired data.
[0011] Representative client machines 102 include any type of
computing or electronic device that can be used to communicate and
interact with content available via web sites. Each of the client
machines 102 may be operated by a respective user U (not shown).
Interaction with a particular user includes presenting information
on a client machine (e.g. by displaying on a display screen) as
well as receiving input at a client machine (e.g. such as via a
keyboard for transmitting to a web site). In the present
embodiment, client machine 102A comprises a mobile electronic
device with the combined functionality of a personal digital
assistant, cell phone, email paging device, and a web-browser. Such
a mobile electronic device may comprise a keyboard (or other input
device(s)), a display screen, a speaker, (and other output
device(s) (e.g. LEDs)) and a chassis for housing such components.
The chassis may further house one or more central processing units,
volatile memory (e.g. random access memory), persistent memory
(e.g. Flash read only memory) and network interfaces to allow
client machine 102A to communicate over the telecommunication
network. In the present embodiment of system 100 it is contemplated
that client machine 102B may be another type of client machine such
as a PC (e.g. desktop, server or laptop) configured to include a
full desktop computer or as a "thin-client". Typically such have
larger display monitors/screens than portable machines like
102A.
[0012] Referring to FIG. 1, the system 100 facilitates switching
between browsing sessions of two or more client machines (e.g.
102A/102B) by tracking and restoring one or more cookies (e.g.
134A, 134B) and the navigation history (e.g. 136A, 136B) associated
with the client machine that initiated the browsing session.
[0013] Referring now to FIG. 2, a schematic block diagram shows an
exemplary client machine 102 in greater detail. It should be
emphasized that the structure in FIG. 2 is purely exemplary, and
contemplates a device that may be used for both wireless voice
(e.g. telephony) and wireless data (e.g. email, web browsing, text)
communications. Client machine 102 includes a plurality of input
devices which in a present embodiment includes a keyboard and,
typically, additional input buttons, collectively 200, an optional
pointing device 202 (e.g. a trackball or trackwheel) and a
microphone 204. Other input devices, such as a touch screen, and
camera lens are also contemplated. Input from keyboard/buttons 200,
pointing device 202 and microphone 204 may be received at a
processor 208. Processor 208 may be further operatively coupled
with a non-volatile storage unit 212 (e.g. read only memory
("ROM"), Erasable Electronic Programmable Read Only Memory
("EEPROM"), or Flash Memory) and a volatile storage unit 216 (e.g.
random access memory ("RAM") speaker 220, display screen 224 and
one or more lights (LEDs 222). Processor 208 may be operatively
coupled for network communications via a subsystem 226. Wireless
communications are effective via at least one radio (e.g. 228) such
as for Wi-Fi or cellular wireless communications. Client machine
102 also may be configured for wired communications such as via a
USB or other port and for short range wireless communications such
as via a Bluetooth.RTM. radio (all not shown).
[0014] Programming instructions that implement the functional
teachings of client machine 102 as described herein are typically
maintained, persistently, in non-volatile storage unit 212 and used
by processor 208 which makes appropriate utilization of volatile
storage 216 during the execution of such programming instructions.
Of particular note is that non-volatile storage unit 212
persistently maintains a web browser application 86 and, in the
present embodiment, a state application 88, each of which can be
executed on processor 208 making use of volatile storage 216 as
appropriate. An operating system and various other applications
(not shown) are maintained in non-volatile storage unit 212
according to the desired configuration and functioning of client
machine 102, one specific non-limiting example of which is a
contact manager application (also known as an address book, not
shown) which stores a list of contacts, addresses and phone numbers
of interest to user U and allows user U to view, update, and delete
those contacts, as well as providing user U an option to initiate
telecommunications (e.g. telephone, email, instant message (IM),
short message service (SMS)) directly from that contact manager
application.
[0015] Returning now to FIG. 1, the web server 106 and the gateway
120 (which can, if desired, be implemented on a single server) can
be based on any commonly available server environments or platforms
including a module that houses one or more central processing
units, volatile memory (e.g. random access memory), persistent
memory (ROM or long-term storage (e.g. hard disk devices)) and
network interfaces to allow servers 106 and 120 to communicate over
the telecommunications network. The web server 106 hosts software
applications comprising instructions and data for generating and
serving web pages dynamically. Load balancing, security/firewall,
billing, account and other applications may also be present.
[0016] Gateway 120 hosts software applications comprising
instructions and data for proxying requests and responses between
the client machines 102 and web site 104. Gateway 120 may host
software for maintaining HTTP communications, performing requests,
maintaining sessions, handling cookies, etc. A caching or storing
feature may also be provided for storing/retrieving data to/from
database 126. Caching may comprise storing web pages from the web
site as well as extracted data (e.g. cookies 134, navigation
history 136) from which to build a relational database.
[0017] Devices 102 and web site 104 are coupled via a
telecommunication network (not shown) typically comprising a
plurality of interconnected networks that may include wired and (at
least for device 102A) wireless networks. It should now be
understood that the nature of the network is not particularly
limited and is, in general, based on any combination of
architectures that will support interactions between client
machines 102 and servers 106 and 120. In a present embodiment the
network includes the Internet as well as appropriate gateways and
backhauls.
[0018] More specifically, in the present embodiment, a wireless
network for client machine 102A may be based on core mobile network
infrastructure (e.g. Global System for Mobile communications
("GSM"), Code Division Multiple Access ("CDMA"), Enhanced Data
rates for GSM Evolution ("EDGE"), Evolution Data-Optimized
("EV-DO"), High Speed Downlink Packet Access ("HSPDA"), Universal
Mobile Telecommunications System ("UMTS"), etc.) or on wireless
local area network ("WLAN") infrastructures such as the Institute
for Electrical and Electronic Engineers ("IEEE") 802.11 Standard
(and its variants) or Bluetooth or the like or hybrids thereof. A
wired network for system 100 and device 102B can be based on a T1,
T3 or any other suitable wired connection.
[0019] As previously stated in relation to FIGS. 1 and 2, each of
the client machines 102 is configured to interact with content
available over the network, including web pages on web site 104. In
a present embodiment, client machines 102A and 102B may navigate
for content using a browser application (e.g. 86A and 86B). As will
be explained further below, on client machine 102A, browser
application 86A may be a mini-browser in the sense that it may be
configured to render web pages on the relatively small display 224
of client machine 102A. Often, during such rendering, those pages
are presented in a format that may be different from how those
pages are rendered on a traditional desktop browser application
(e.g. browser 86B of client machine 102B). Mini-browsers typically
attempt to convey substantially the same information as if the web
pages had been rendered on a full browser such as Internet
Explorer.RTM., Safari.RTM. or Firefox.RTM. on a traditional desktop
or laptop computer like client machine 102B.
[0020] Referring again to FIG. 1, the system 100 facilitates
switching between browsing sessions of two or more client machines
(e.g. 102A, 102B). As mentioned earlier, client machines 102A and
102B may be referred to generally as client machines 102. That is,
in one browsing session a user may start browsing web sites on any
one of the client machines 102 (e.g. 102A) to reach a specific web
page. At a later time, the user can continue the browsing session
on a different client machine (e.g. 102B) such that its associated
browser 86B presents the same web page as previously displayed on
browser 86A. In one aspect, the web page resumed is restored at a
same state that it was previously left at (e.g. if a user had
customized information displayed on the web page previously). As
described earlier, client machines 102, may refer to a desktop, a
laptop, a mobile device or any other type of computing device, an
example of which is illustrated in FIG. 2.
[0021] For example, a user of the client machine 102A may start
browsing the web site 104, which may be an e-commerce web site for
purchasing (e.g. products or services or both) to reach a desired
web page for making a specific purchase from the web site. The
desired web page, may be for example, a web page reached after
several user interactions with the web site 104 to search for an
item, add an item to a shopping cart but not complete the purchase
of the item. As will be described, by allowing the user to continue
the browsing session that was terminated, the user can complete the
purchase on a different client machine 102B, as may be requested.
This is beneficial as it maintains affiliate or referral tracking
information that may be lost if continuance of sessions was not
enabled. In addition, continuance of sessions can also give users
seamless flexibility to use their desktop, or mobile, or laptop
(client machines 102) to browse/buy items from a web site 104 and
to replicate the browse/buy information on another client machine
102B, also referred to as a computing device herein.
[0022] Referring to FIG. 1, the system 100 provides a method for
continuing a browsing session initiated by a first computing device
(e.g. client machine 102A/102B) on a second computing device (e.g.
a different one of the client machines 102A/102B). As illustrated
in FIG. 1, each of the client machines 102A and 102B may
respectively have associated web cookies 134A and 134B (referred to
generally as 134); navigation history 136A, 136B (referred to
generally as 136); formatting information 142A and 142B (referred
to generally as 142); and browsers 86A and 86B (referred to
generally as 86) which may be stored locally on storage 212A, 212B
as applicable.
[0023] Accordingly, the one or more web cookies 134A/134B may be
provided from the web sites visited by the browser 86A/86B of the
client machine 102A/102B. The web cookies 134 generally reflect the
web site state information relating to browser 86 interaction with
a particular web site and customization of the web site by the user
to obtain desired information from the web site. The navigation
history 136 includes one or more addresses of web site(s) and web
page(s) visited by the client machine 102 during a browsing
session.
[0024] During interaction of the browser 86 on the client machine
102 with a web site 104, the browser 86 maintains the navigation
history 136 of at least the address (e.g. URL) of the last viewed
web page (e.g. 110) of the web site 104 during the browsing
session. In one aspect, the navigation history 136 may further
comprise the web address (e.g. URL) of a plurality of web pages
visited during the browsing session of the first computing device.
That is, in one embodiment, the navigation history 136 may comprise
the web page the user is currently on and the plurality of web
pages previously visited by the user (usually in the order visited)
during the browsing session which may be reviewed using a back and
a forward feature of the browser; and clicking on any links on web
pages to advance to a new web page). The address of the current web
page may be captured through a bookmark as may be requested by a
user or by the browser 86 automatically maintaining a history of
web sites visited. As will be understood by a person skilled in the
art, the navigation history 136 may be stored on either the
non-volatile storage or volatile storage as may be pre-defined for
allowing subsequent access.
[0025] In one embodiment, browser 86 is further configured to
receive, store and return (to the appropriate web site, as
applicable) one or more web cookies 134 from the web site(s)
visited during the browsing session. The web cookies 134 define the
web site state information which may comprise: a user's login
ID/session ID, web site preferences, and items displayed on a
particular web page visited in the browsing session (e.g. shopping
cart items). Other information that may be included in the cookies
134 comprises information relating to a user's customization of a
web site for subsequent use by the user. For example, the user may
select via the browser 86 a desired language option, desired
country/location of origin, and desired sections of interest on a
web site and other settings to obtain a customized web page
associated with the web site. Web cookies 134A/134B received from
web site 104 (e.g. via the web server 106) are particular to the
user's interaction respectively on the browser 86A, 86B.
[0026] In addition, web cookies 134 may refer to a text file of
information that a web site provides to the browser 86 for storing
on the client machine while the user browses the web site.
Accordingly, web cookies 134 provide session history information
and are thus useful for maintaining a state of the web site with a
particular user. Communication between the browser 86A/86B and the
web server 106
[0027] In one embodiment, the browser 86 (e.g. 86A) interacts with
a web site 104 via the web server 106. Accordingly, the web cookies
134A associated with the client's machine's 102A browsing session
with the web site are received by and stored on the respective
client machine 102A. For example, cookies 134A may be stored in a
temporary file containing the browsing history information on
client machine 102A. Communication between the browser 86A/86B and
the web server 106 via the gateway
[0028] In another embodiment, illustrated in FIG. 1, browser 86A of
client machine 102 (e.g. 102A) communicates with web server 106 via
gateway 120. That is, client machine 102A sends a web page request
to gateway 120. In response, web cookies 134A are received by and
stored on database 126 of gateway 120. In general, database 126 may
contain a relational table associating user/client machine
102A/102B identification with cookies 134A/134B received from a
particular web site 104 during the browsing session of client
machine 102A/102B. For example, database 126 can track and store
transactions that have an unfinished/pending state as provided by
the one or more cookies 134A/134B received from the web site (e.g.
via web server 106).
Communication Between the Browser 86A/86B and the Web Server 106
and Retrieval Via the Gateway 120
[0029] In the present embodiment, the first client machine (e.g.
102A) may have started a transaction and browsed/interacted with a
number of web pages to a certain stage for initiating product
purchase, however the user may not have progressed to purchase
completion. The communication between the client machine 102A and
the web server 106 may have occurred independently of the gateway
120, however the gateway 120 may be used to facilitate sharing of
cookies 134 and navigation history 136 between the client machines
102. Accordingly, if the user of the second client machine 102B
requests to continue the browsing session initiated by client
machine 102A, this triggers the retrieval of the cookies 134A and
the navigation history 136A onto the gateway 120 for providing to
the client machine 102B.
[0030] Referring again to the incomplete transactions, it may be
envisaged that the gateway 120 or the browser 86A (as applicable)
may be configured to maintain information regarding transactions
that are not completed during the web browsing session of the
client machine 102A. As described earlier, such incomplete
transactions may be linked to the client machine 102A/user login
identification. Accordingly, when a web session is started by
client machine 102A but the purchase not completed, browser 86B may
request one or more of the incomplete transactions from gateway
120. Accordingly, navigation history 136A and web cookies 134A
associated with the incomplete transactions of client machine 102A
are provided to client machine 102B for subsequently restoring the
transactions and completing the purchase when desired. As would be
understood by a person skilled in the art, completion of the
purchase transaction may include providing or confirm payment and
shipping information for purchasing a selected product. For
example, tracking of incomplete transactions may be accomplished by
storing the information associated with the last web page visited
by the client machine 102A (e.g. address of web site and any
cookies 134A). Alternatively, by storing the navigation history
136A and associated cookies 134A, any incomplete transactions may
be restored.
[0031] Accordingly, the web cookies 134A may be selected from the
group consisting of: a browsing session identification; a user
identification associated with the browsing session; a first client
machine identification; user preference information associated with
the browsing session and the web site; and a user login information
associated with the browsing session.
[0032] In accordance with the embodiments described, saving and
restoring a user's session may comprise saving and restoring
navigation history 136A of a client machine 102A and in particular
the last viewed web page; and collecting and restoring one or more
web cookies 134A which relate to a user's transactions with the web
site via the browser 86A.
Saving a Browsing Session Initiated by the Client Machine 102B
[0033] As described earlier, saving a current browsing session
comprises saving navigation history 136B, which comprises at least
the URL of the most currently visited web page. In one aspect,
navigation history 136B further comprises gathering all the
browsing history (e.g. addresses) associated with browser 86B
during the browsing session to be saved. In addition, saving the
browsing session further comprises saving the one or more web
cookies 134B associated with the browsing session. The combination
of web cookies 134B and navigation history 136B may be saved on
storage associated with the client device 102B.
[0034] In one embodiment, a user of client machine 102B may request
saving the desired browsing session to initiate the save. In
another embodiment, browser 86B or the gateway 120 (if applicable)
may be configured to automatically save one or more browsing
sessions.
[0035] When browser 86B makes an HTTP request, the response to the
request comes back as an HTTP header and HTTP content. One of the
instructions in the HTTP header may be one or more "set cookie"
commands. As will be understood by a person skilled in the art, the
"set cookie" command may not always be present in response to the
web page request. For example, in some cases, in order to restore
the browsing session only an address of the web page (e.g.
navigation history 136) may be used.
[0036] In the present embodiment, considering one or more cookies
134B are received, browser 86B maintains cookies 134B on client
machine 102B. Accordingly, when browser 86B makes the web page
request, browser 86B can pass all applicable cookies 134B back to
the web site to maintain the same state. Because information in
cookies 134B can be in plain text in a header, it can readily be
extracted by a client application. Accordingly, in one embodiment,
as illustrated in FIG. 1, the client machine 102A/102B further
comprises a respective browser plug-in or state application 88A/88B
(referred to generally as 88). In the present example, the browser
plug-in or state application 88B may facilitate the transfer of
cookies 134B and navigation history 136B to a different client
machine (e.g. 102A).
[0037] For example, state application 88B may be configured to
retrieve web cookies 134B and one or more addresses of web site(s)
visited 136B from a "temporary internet folder" of associated
client machine 102B. Accordingly, the state application 88B may
facilitate a direct transfer of the cookies 134B and the navigation
history 136B from client machine 102B to client machine 102A.
[0038] In one embodiment, gateway 120 exists and state application
88B may further be configured to transmit web cookies 134B and
navigation history 136B to gateway 120 for storage on the database
126. Additionally, database 126 may store information to identify
client machine 102B associated with web cookies 134B and navigation
history 136B. In this way, as will be described, a different client
machine (e.g. 102A) can access web cookies 134B and navigation
history 136B for continuing the session of the first client machine
102B.
[0039] Alternatively, as described earlier, gateway 120 may
intercept communications between client machine 102B and web server
106. Accordingly, gateway 120 may be configured to directly track
or save cookies 134B and navigation history 136B as client machine
102B is interacting with a web site and one or more web pages. For
example, if the user of a first client machine 102B wishes to save
a particular transaction in progress, the user can submit a request
via browser 86B or state application 88B to notify gateway 120.
Accordingly, gateway 120 may save navigation history 136B and the
cookies 134B associated with the transaction in database 126 for
later use in reactivating the particular transaction in progress.
Although it has been described herein that another client machine
(e.g. 102A) may continue a pending transaction, the same client
machine 102B that initiated the transaction may request from
gateway 120 the information to continue the transaction as
described herein.
[0040] In one aspect, state application 88B may track (maintain)
formatting information 142B related to web pages visited. In one
example, the simplified formatting of the web pages displayed on
the mobile display (e.g. on the client machine 102A) are maintained
when continuing the transaction on a desktop (e.g. client machine
102B), even though there is sufficient desktop screen space
available to display the original content and format of the web
pages. Formatting information 142B may relate to user agent
information that is supplied in headers of HTTP requests to a web
site to obtain particular web page code formatted for the specific
user agent.
[0041] Similarly, for transactions or browsing sessions that are
initiated on the desktop (e.g. client machine 102B), the
continuance of the web pages on the mobile device (e.g. client
machine 102A), with respect to desktop formatted web pages could be
retained. This may be done through re-organization of the pages and
wrap content around the screen, or use of the WAP standard to
spatially divide a page into a number of pages such as to allow the
user to navigate between each page section to view a page.
[0042] The maintaining of the look and feel of the particular web
page may be desirable to avoid confusion between format changes of
the web pages. In one example, the user may select a certain web
page format 142B for display on the client machine 102B. The user
may request to save web page format 142B which may then be stored
locally on client machine 102B or on database 126 (if applicable).
In one case, the user requests to save web page format 142B in
anticipation of changing devices (e.g. from desktop client machine
102B to mobile client machine 102A). The web page format 142B may
then reflect a simplified format or another customized format as
selected by the user of the client machine 102B. In either case
when the user requests to continue the browsing session initiated
by another client machine 102A, state application 88A may retrieve
the web page format of the other client machine 102B or request
retrieval of the web page format 142B from gateway 120 (and the
corresponding database 126) such as to continue and complete a
transaction, as desired. As will be understood, although
maintaining the look and feel of the web page may be desirable,
certain browser elements or plug-ins may work on one browser type
but not on another. For example, Flash.RTM. may work on browser 86B
but not on browser 86A.
Restoring a User's Browsing Session as Initiated by the Client
Machine 102B
Case 1: Restoring a Particular Browsing Session Stored on Database
126
[0043] Restoring a particular browsing session (e.g. the most
recently viewed web page) comprises making a request by the user of
the client machine (e.g. the same client machine 102B or a
different client machine 102A) on its associated browser 86 for
viewing the last viewed web page associated with the terminated
browsing session. For example, the option of resuming a terminated
browsing session of another client machine or the same client
machine 102 may be presented to the user in the browser 86 as a
special button or drop down menu command or as a web page from
gateway 120. Other ways of presenting the option to resume on the
display of the relevant client machine 102 may be envisaged by a
person skilled in the art.
[0044] In the present example, it will be assumed that a different
client machine 102A requests to restore and continue the browsing
session of client machine 102B. Gateway 120 then sends to client
machine 102A a transaction continuance package 138. Transaction
continuance package 138 is associated with the particular
transaction in progress that was saved in database 126 as described
previously. Transaction continuance package 138 comprises
navigation history 136B for use in populating the navigation
history of client machine 102A. Additionally, transaction
continuance package 138 comprises one or more saved cookies 134B
for use in restoring the desired web site's state information.
Cookies 134B are stored into the appropriate location on client
machine 102A that browser 86 uses to create and manage its cookies
(e.g. "temporary Internet folder").
[0045] In one aspect, transaction continuation package 138 further
comprises formatting information 142. As described earlier,
formatting information 142 provides information relating to the
formatting of web pages on client machine 102 that initiated the
browsing session. In this way, state application 88 retrieves
formatting information 142 such as to allow similar web page
formatting 142 on client machine 102A.
Case 2: Restoring a Browsing Session Stored Locally on the Client
Machine 102A
[0046] As described earlier, in one embodiment, gateway 120 may not
be used to proxy web page requests or store or transfer transaction
information, and communications may occur directly between the
client machine 102A and web server 106. In the present embodiment,
information relating to the transaction in progress (e.g. cookies
134A and one or more addresses of web sites visited 136A) is stored
locally on client machine 102A. In this case, state application 88
may be configured to synchronize the information relating to the
transaction in progress between client machine 102A and the client
machine 102B (e.g. providing synchronization data 139 to client
machine 102B). For example, desktop synchronization software for
synchronizing data between desktop and mobile applications (e.g.
BlackBerry.TM. Desktop Software for BlackBerry.TM. devices) may be
configured to facilitate transfer of information between two client
machines 102. In this way, user preferences for web sites as
provided by cookies 134A (including login ID information and other
customized web site settings) may be synchronized between different
client machines 102.
Exemplary Operation for Continuance of Sessions
[0047] Referring to FIG. 3, shown are illustrative operations of
system 100 for facilitating continuance of a session initiated by
first client machine 102A on second client machine 102B. By way of
example, a purchase transaction is enabled by continuing the
session.
[0048] A request 302 is made by client machine 102A for accessing a
web page of a particular web site to web server 106. As described
earlier, the addresses of web pages requested by client machine
102A defines the navigation information 136A. In response, web
server 106 provides 304 an HTTP response comprising HTTP content
and HTTP headers including one or more cookies 134A defining web
site state information related to the interaction of client machine
102A with the web site. While browsing, client machine 102A
typically stores 306 its navigation history 136A and cookies 134A.
In addition, formatting information 142A may be stored on client
machine 102A for providing to client machine 102B. Before the
purchase transaction is completed, the browsing session on client
machine 102A is terminated. Cookies 134A, navigation history 136A
and optionally, formatting 142A, may be provided (e.g. as
synchronization data 139) to a different client machine 102B for
continuing the browsing session. Transfer 308 of the cookies 134A
and navigation history 136A may be performed via synchronization
software or other methods for transferring data between two devices
as will be known in the art.
[0049] The received cookies 134A, navigation history 136A and
optional formatting 142A are stored 310 to client machine 102B.
Client machine 102B requests 312 the web page associated with the
session as received in the navigation information 136A from the web
server 106. Client machine 102B also provides any cookies 134A
associated with the terminated session in order to resume the web
page at its last stage (e.g. prior to termination on client machine
102A). Optionally, to maintain formatting associated with client
machine 102A, formatting information 142A may be used (e.g.
providing a user agent in an HTTP header) for web site 104. An HTTP
response containing the HTTP content associated with the requested
web page is received 314 by the client machine 102B. Accordingly,
the selected web page (e.g. the last web page viewed by client
machine 102A) may be displayed on the client machine 102B and the
browsing session may be resumed to complete the purchase
transaction.
* * * * *