Title of Invention

A METHOD AND SYSTEM OF ALLOWING A USER OF A WIRELESS MOBILE DEVICE TO INTERACT WITH AN INTERNET BASED APPLICATION WHILE ROAMING

Abstract This invention relates to a method of allowing a user of a wireless mobile device (10,12) to interact with an internet-based application while roaming from a first wireless network (20) to a second wireless network (22), the user having established a connection between a wireless mobile device (10) and the first wireless network (20) allowing the user of the wireless mobile device (10) to interact with the Internet-based application, the method comprising; tracking a state of interaction between the user of the wireless mobile device and the Internet-based application, the tracking including storing state data including any data entry and any application option selection by the user representing a present state of interaction between the user and the Internet-based application; establishing a connection between the wireless mobile device and a second wireless network; and sending, to the Internet-based application, data representing the present state of interaction of the user of the wireless mobile device with the Internet-based application; and terminating the connection between the wireless mobile device and the first wireless network after Internet-based application receives the data representing the state of interaction, whereby the user is able to continue to interact with the Internet-based application from the present state of interaction before the termination.
Full Text CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] TIns application claims the benefit of U.S. Provisional Application No.
60/483,283, filed June 27, 2003, wInch is incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0002] The present invention relates generally to techniques and a system for
roaming across wireless networks. More specifically, embodiments of the invention
allow for switcInng access across different networks from different network providers
and/or different technologies.
[0003] In today's wireless mobile computing world, there are a variety of
different mobile technologies that coexist for different applications and different
ranges. Examples of some of these different technologies are discussed below in
conjunction with Fig. 1 wInch grapIncally depicts several of the various technologies.
[0004] Shown in Fig. 1 are wireless wide area network (WWAN), wireless
local area network (WLAN) and wireless personal area network (WP AN) technologies.
WW AN technologies typically include cellular and related technologies such as GSM,
GPRS, CDPD, CDMA, TDMA, WCDMA, etc. WW AN networks are Ingh power,
long range networks that typically have an access range on the order of several
kilometers on up. WLAN technologies, on the other hand, are medium power, medium
range networks that have an access range on the order of tens of meters wInle WPAN
networks are low power, short range networks that typically have an access range of
about 10 meters or less. Examples of WLAN technologies include the IEEE 802.11(a),
(b), (e) and (g) technologies and examples of WPAN technologies include Bluetooth,
HomeRF, IrDA and IEEE 802.15 technologies.
[0005] The Internet and Internet-based applications can be accessed by different
devices over each of the wireless network types shown in Fig. 1. In order to access the
Internet using a specific wireless network technology a computing device with
appropriate hardware (e.g., antenna) and software (e.g., protocols) is required along
with appropriate credentials (e.g., a user account) that are recognized by the network
service provider. Except in some very specific cases, credentials that enable
access to a network require a priory subscription to a service on the network or
are based on a pay-as-you-go approach (typically for a set time period) where
the user receives a temporary user ID that is authorized for use on the network.
For example, in order to access a WWAN, a user typically needs a plan with a
cellular data provider and in order to access a WLAN network, a user may need a
subscription with a WLAN provider, a temporary account with a provider (e.g.,
for network usage at an airport or coffee shop) or a relationsInp with a provider
(e.g., for network usage at an airport or coffee shop) or a relationsInp with an
enterprise network.
US2002035699 discloses a method and system for enabling seamless roaming in
a wireless network. A gateway server manages connections in a wireless local
area network (WLAN). The gateway server provides context information, such as
an IP address, that is stored after being previously allocated to a mobile device
in a previous connection to the WLAN. The gateway server reassigns the IP
address to the mobile device after it reconnects to the WLAN after a
disconnection, thus providing seamless roaming for the mobile device from
WLAN to WLAN (or subnets witInn one WLAN) without requiring the user of the
device to re-register. The gateway server also provides cluster information (e.g.,
as part of the context information) for a mobile device making a new connection
to the WLAN, such as access privileges associated with the cluster of users of the
mobile devices. The gateway server also provides load balancing among two or
more WLAN's by directing a newly connection mobile device to another WLAN (or
subnet), if less congestion results.
WO03045105 discloses a method and system for providing roaming for a
dataterminal between local networks connected to a control communication
network devices, a procedure and a system for making possible of roaming for a
data communication terminal 140 between local data communication networks
102,103 wInch are connected to a central data communication network 101, are
described. Local data communication devices 110, 111 are connected to a local
data communication network each 102, 103 and to the central data
communication network and central data communication devices 120, 121, 122
are connected to the central data communication network. A central control unit
130, wInch is connected to the central data communication devices via the
central data communication network, associates the data communication
terminal with a current central data communication device 120 and informs the
current central data communication device about tIns. The current central data
communication device allocates a temporary address to the data communication
terminal. A current local data communication device 110 detects that the data
communication terminal is connected to the local data communication network
102, to wInch the local data communication device is connected and informs
about tIns to the current central data communication device. The current central
data communication device by that looks after wInch local data communication
network the data communication terminal is connected.
Devices, a procedure and a system for making possible of roaming for a data
communication terminal (140) between local data communication networks (102,
103) wInch are connected to a central data communication network (101), are
described. Local data communication devices (110, 111) are connected to a local
data communication network each (102,103) and to the central data
communication network and central data communication devices (120, 121,122)
are connected to the central data communication network. A central control unit
(130), wInch is connected to the central data communication devices via the
central data communication network, associates the data communication
terminal with a current central data communication device (120) and informs the
current central data communication device about tIns. The current central data
communication device allocates a temporary address to the data communication
terminal. A current local data communication device (110) detects that the data
communication terminal is connected to the local data communication network
(102), to wInch the local data communication device is connected and informs
about tIns to the current central data communication device. The current central
data communication device by that looks after wInch local data communication
network the data communication terminal is connected.
US2003055977 discloses a system for automated, mid-session, user-directed,
device-to-device session transfer system. A session transfer module of a session
server provides the capability to a user to direct a transfer of an on-going session
from one device to another device wInle maintaining the session. The session
transfer module is invoked by a user in a way consistent with the user interface
of the client application, including by a grapIncal user command, a command line
prompt, or a voice command. The client provides a selection of possible devices
that may receive the redirected session. The session transfer module receives
the selected device with the session redirect command over a communication
network. The communication network may be wired (e.g., public switched
telephone network ("PSTN"), Internet, etc.,) a wireless network (e.g., digital
telephone network, pager network, etc.,) or a combination of the wired and
wireless networks. The session transfer module may be configured to discontinue
the session with the current device and to block any subsequent messages of the
transferring session from reacInng the device. The session transfer module may
be further configured to access a device profile from a device profile database to
convert the blocked messages into a format compatible to the format and/or
modality of the redirected device. The session transfer module may be further
configured to push the session to the redirected device in response to an
activation (e.g., log-on) of the redirected device by the user. Alternatively, the
session transfer module may be further configured to push the session back to
the device in response to a time-out in the activation of the redirected device.
However, the need for priority subscriptions and/or an existing relationsInp with
network service providers according to the prior art limits the ability for individual
user's of network services to roam from one network to another.
BRIEF SUMMARY OF THE INVENTION
Embodiments of the present invention allow a user of network services to roam
from one network to another without necessitating a priory subscription with
each of the networks. Roaming access can be acIneved through a single device
that is able to connect to each of the different networks or through different
devices where one device is able to connect to the first network technology and
a second device is able to connect to the second network technology.
Embodiments of the invention allow for switcInng among access across different
networks from different network providers. Some embodiments of the invention
allow seamless roaming across different networks from different providers wInle
maintaining session and application state.
In one embodiment the method comprises establisInng a connection between a
wireless mobile device and a first wireless network. The connection allows the
wireless mobile device to interact with an Internet-based application. A state of
interaction between the wireless mobile device and the Internet-based
application is tracked. The connection between the wireless mobile device and
the first wireless network is terminated. The method further includes establisInng
a connection between the wireless mobile device and a second wireless network
and sending, to the Internet-based application, data representing a state of
interaction of the wireless mobile device with the Internet-based application prior
to terminating the connection between the wireless mobile device and the first
wireless network.
In another embodiment, the method comprises establisInng a connection to a
first wireless network with a mobile device, suing the mobile device to interact...
with an Internet-based application through the first wireless network, tracking data
related to a state of interaction with the Internet-based application, establisInng a
connection to a second wireless network with the mobile device, and sending data
related to the state of interaction with the Internet-based application to the Internet-
based application.
(0010] In a tInrd embodiment, the method comprises establisInng a connection
between a wireless mobile device and a first wireless network. The connection allows
the first wireless mobile device to interact with an Internet-based application. The
method further comprises tracking a state of interaction between the first wireless
mobile device and the Internet-based application, terminating the connection between
the first wireless mobile device and the first wireless network, establisInng a connection
between a second wireless mobile device and a second wireless network. The second
mobile device is different from the first wireless mobile device. Data representing a
state of interaction of the first wireless mobile device with the Internet-based
application prior to terminating the connection between the first wireless mobile device
and the first wireless network is sent to the Internet-based application.
[0011] In a fourth embodiment, a system for facilitating roaming from one
network to another is disclosed. The system comprises an authentication component
configured to authenticate wireless mobile devices for use on a plurality of wireless
networks and a synchronization manager component. The synchronization
management component is configured to track a state of interaction between a wireless
mobile device and an Internet-based application through a first wireless network, and in
response to receiving an appropriate request, establish a session between the wireless
mobile device and the Internet-based application through a second wireless network
and send data representing the state of interaction to the Internet-based application.
[0012] These and other embodiments of the invention along with many of its
advantages and features are described in more detail in conjunction with the text below
and attached figures.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
[0013] Fig. 1 grapIncally depicts a simplified comparison of several currently
available mobile network technologies;
[0014] Fig. 2 is a block diagram of a system that allows mobile devices to roam
across different networks according to one embodiment of the invention;
[0015] Fig. 3 A schematically illustrates a sequence of events associated with a
user logging onto a first network according to one embodiment of the invention;
[0016] Fig. 3B schematically illustrates a sequence of events occurring when
the user in Fig. 3 A roams from the first network to a second network according to one
embodiment of the invention;
[0017] Fig. 4 is a flow chart illustrating steps associated with the events
depicted in Figs. 3A and 3B;
[0018] Fig. 5 is a block diagram that illustrates an authentication process
involving multiple UWNPs in a federation according to one embodiment of the present
invention; and
[0019] Fig. 6 is a block diagram that illustrates an authentication process
according to another embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0020] Fig. 2 is a block diagram of a system that allows mobile devices to roam
across different networks according to one embodiment of the invention. Shown in
Fig. 2 are mobile devices 10, 12 and 14 that access Internet 30 through one or more of
networks 20, 22. Mobile devices 10,12, and 14 may be, for example, wireless-
equipped laptop computers, internet-capable cellular phones, wireless-equipped
personal digital assistants (PDAs) or any other mobile computing device that is able to
connect to a wireless network to access one or more Internet-based services through the
network. Networks 20 and 22 may rely on differing technology and/or use different
service providers to enable mobile devices to connect to the networks. In some
embodiments networks 20 and 22 can be different technologies deployed by the same
or different service providers, different cells using the same technology but operated by
different service providers, or can be different cells using the same technology and
service provider.
[0021] Networks 20 and 22 may be based on any of the technologies shown in
Fig. 1 or on any other appropriate wireless network technology. As examples, in one
embodiment, network 20 may be a cellular based 3G WWAN network and network 22
may be an 802.11(b) WLAN network. In another embodiment network 20 may be a
802.11(g) WLAN network operated by company X and network 22 may be a 802.11(g)
WLAN network operated by company Y.
4
[0022] As shown in Fig. 2, mobile device 10 is equipped with hardware that
enables the device to access Internet 30 through network 20; mobile device 12 is
equipped with hardware that enables the device to access Internet 30 through network
22 and mobile device 14 is equipped with hardware that enables the device to access
Internet 30 through either network 20 or network 22. Also shown in Fig. 2 are a
computer system/server 40 for a universal wireless network provider (UWNP) and an
application server 50. UWNP 40 includes an authentication component 42 that
authenticates mobile devices, such as mobile devices 10, 12 and 14 across multiple
networks such as networks 20 and 22 and a synchronization manager 44 that tracks the
state of interaction between a wireless mobile device and various Internet-based
applications the device is being used to interact with.
[0023] Application server 50 hosts one or more applications that are accessed
over the web by computing devices such as personal computers and mobile devices 10,
12 and 14. Application server 50 may include multiple servers in a distributed
computing system. In some embodiments, server 50 may implement one or more
virtual private networks. A person of skill in the art will appreciate that there are
thousands of different application servers in addition to application server 50 that can
be accessed over the Internet providing thousands of different services and/or
applications for use by computing devices such as mobile devices 10, 12 and 14.
[0024] Embodiments of the invention allow mobile devices to roam across
multiple networks, for example from network 20 to network 22, such that a connection
to an Internet-based application, such as an application supported by application server
50, that is initially established through a first network can be switched so that the
connection is established through a second network. In some embodiments, the switch
of the connection may be implemented to minimize the impact to the user of the
network switch. In some cases, the user may not even notice that a connection change
occurred. The connection may be switched during a single session in wInch the mobile
device is continuously connected to Internet 30, may be switched from a first session to
a subsequent, second session where the mobile device is disconnected from Internet 30
for a time period and then reconnected in the second session at the same application
state at wInch the device was disconnected from Internet 30 during the first session or
may be switched from a first session to a subsequent, second session where different
mobile devices are used to connect to Internet 30 during each session.
[0025] In some embodiments, users (e.g., owners of the mobile devices) may be
required to register with UWNP 40 or otherwise be registered with UWNP 40 through
other mechanisms. In some instances, the registration may be done on behalf of the
user (e.g., the service provider may register the mobile device with the UWPN).
Authentication component 42 of UWNP 40 authenticates the mobile device for usage
on the networks. By way of example, in one embodiment, the mobile device may be
authenticated by comparing a device ID to a database of device IDs that are registered
with the UWNP 40.
[0026] UWNP 40 also includes a synchronization manager 44 that provides
session management services that enable roaming to be smoothly transitioned from one
network to a second network for applications that are written to allow for such. The
synchronization manager is a software program/engine that maintains the state of all
active applications to support various roaming modes allowed by embodiments of the
invention. In some embodiments the synchronization manager maybe a program that
executes on the mobile device (not shown in Fig. 2) rather than on the server-side.
Also, in some embodiments the synchronization manager (or another software
component executing on a UWNP server) provides identity management features that
enable a user to project a single identity for Inmself to a service provider or application
even when the user is accessing the network using different user names (e.g., a personal
identity or a work identity) or different mobile devices (e.g., a wireless laptop computer
or a cell phone).
[0027] The state of the interaction may be preserved by capturing a user's
interaction events with a data model. For instance, the data model may represent the
structure of a web form (e.g., an XForms data model) and the user interaction events
may represent the user's interaction with the form. The interaction events may be
captured and interpreted as to how the interactions affect the data model associated
with the interaction. For instance, each character entered in a data field of a form
affects the data model. At periodic intervals, the information may be stored and sent or
otherwise synchronized with the synchronization manager. In one embodiment, the
impact of a user's interactions may be stored as an XForms data model and periodically
synchronized with a repository associated to the user session in the synchronization
manager. Both interaction events and data model may be captured, stored, and
synchronized with different granularities. By way of example, interactions may be
captured each time an event occurs (event based), when a field is filled and an off focus
event is received (field based), after several fields are filled (block based), at a form or
page event, such as when a form is completed, or at other appropriate points in a user's
interaction with a data model.
[0028] Some embodiments of the invention allow for three different modes of
roaming: (1) suspend and resume mode; (2) connect/intermittently
disconnected/disconnect mode and (3) multi-device roaming. Internet-based
applications can be written to support one or more of the above roaming modes. Other
modes and programming models that support a seamless switch between devices and/or
networks can be implemented in other embodiments of the invention. Suspend and
resume mode and connect intermittently disconnected/disconnect mode can be
supported by a synchronization manager that executes on either the device side or
server side of the system. Multi-device roaming, however, may require that the
synchronization manager execute on the server-side of the system or somewhere in the
network accessible from the different networks/devices that are used. Alternately, the
state of the interaction that is saved on the first device may be transmitted to the second
device.
[0029J Applications that support suspend and resume mode allow the
application to be interrupted and subsequently resumed at the interrupted state at a later
time using a different network (e.g., through an access network based on a different
technology) or a different mobile device. In some embodiments, applications can be
written to support a granular suspend and resume mode where they can be interrupted
at any time but resumed only at specific points in the program. As one example of
suspend and resume mode, if a user is completing an electronic form that requires the
user to enter Ins first and last name, home address, home phone number and email
address along with other information on a web site, the synchronization manager saves
the data model requested by the web site (i.e., the form) and tracks information the user
enters into the form with mobile device 60. If the user's session is interrupted prior to
completing the form, for example the user enters Ins first and last name and Ins address
but not Ins home phone number, email address or other information, synchronization
manager may maintain sufficient information so that when the user's connection with
the website is reestablished, the form can be pulled back on an active screen with the
user's name and address information reentered into the form by the synchronization
manager so the user only has to complete the remaining phone number, email address
and other fields of the form. In some embodiments, the user may be given the option

whether to resume the form completion before the form is displayed on an active
screen.
[0030] Applications that support connect/disconnect mode allow seamless
roaming to be used when part of the application executes on the mobile device and part
of the application executes on an application server 50 accessed through the Internet.
Examples of such applications include applications that run on an embedded web server
and have client-side logic that can emulate part of the application business logic on the
client when the network is absent. Typically, the client business logic interacts with a
local, client-side data store or repository. When the network is on, the data store after
being updated by the business logic is synchronized with the backend data. Updates on
the backend can be synchronized with the client using push technology, for example,
upon an event or change, periodically by the client, or upon initiation from the client.
Such applications often have additional mechanisms to deal with conflicts. Examples
of such applications include Oracle's Web-to-Go, wInch is collection of components
and services that facilitates development, deployment, and management of mobile Web
applications, and the Blackberry™ email service.
[0031] In an application that supports multi-device roaming, the user can switch
from a first mobile device 10 that accesses the application through a first network, such
as network 20, to a second mobile device 12 that accessed the application through a
second network, such as network 22 wInle interacting with the application. The switch
from mobile device 10 to mobile device 12 may include, for example, switcInng from a
WAP phone that accesses an application through a WAP browser to a wireless PDA or
kiosk that accesses the application through an XHTML (extended HTML) browser. As
another example, a user may switch from a device that interacts with an application
through a grapIncal user interface agent to a device that interacts with the application
through a voice user agent. Multi-device roaming for other deployments of
applications that use multi-modal interactions may also be supported by
synchronization manger 44.
[0032] Similar to suspend and resume mode, applications that support multi-
device roaming can be written with different levels of granularity. Implementing multi-
device roaming, however, requires that synchronization manager 45 be deployed on the
server side (e.g., at UWNP 40) as opposed to solely on the mobile device itself.
[0033] Once a user is registered with a UWNP, a user may log onto a network
associated with the UWNP to establish a first connection and establish the terms of the
usage (e.g., the cost structure of the connection). The user may then wander into the
range of a second network that is also associated with the UWNP and roam from the
first network to the second network. Alternatively, the user may disconnect from the
first network and subsequently connect to the second network. As used herein, a
network is associated with the UWNP if there is some mechanism and/or agreement
between the UWNP and an owner of the network for billing a user for use of the
network through the UWNP.
[0034] One specific embodiment of the invention is described below in
conjunction with Figs. 3A, 3B and 4, where Figs. 3A and 3B schematically illustrate a
sequence of events associated with a user logging onto a first network and roaming
from the first network to a second network and Fig. 4 is a flow chart illustrating steps
associated with the roaming process. For purposes of illustration only, the embodiment
discussed with respect to Figs. 3 A, 3B and 4 can be envisioned to allow an individual
on a business trip with a laptop computer (mobile device 60) that includes an 802.11(b)
wireless network card to access the Internet from multiple locations using different
networks witInn an airport. For example, the user may access the Internet from a first
802.11(b) network 62 in a frequent flyer lounge area and then roam to a second
802.11(b) network 64 located in an airport coffee shop prior to leaving the airport.
[0035] Referring to Figs. 3 A and 3B, networks 62 and 64 each have servers 66,
68 that handle login requests to the networks and interface computers on the networks
to the Internet. Upon entering the range of network 62, mobile device 60 receives a
request 70 from server 66 to login to network 62 (Fig. 4, step 100). Request 70 may be
generated by the internet service provider (ISP) or mobile network operator (MNO) that
runs network 62 from its server 66. In response to request 70, mobile device 60 may
initiate an automatic or manual login process to network 62 (Fig. 4, step 102). Either
process may include, for example, passing user identification information via a
response 72 that enables UWNP 40 to authenticate device 60 for a connection to
network 62.
[0036] In response to receiving identification information from device 60,
server 66 sends a request 74 to UWNP 40 to check for billing authorization to establish
that device 60 has an account with UWNP 40 and can thus be billed for usage of
network 62 through UWNP 40 (Fig. 4, step 104). UWNP 40 authenticates device 60
and sends a response 76 back to server 66 indicting that device 60 is an approved client
(Fig. 4, step 106) and server 66 then forwards appropriate credentials to device 60 via a
response 78 (Fig. 4, step 108). Logging into network 62 implies that the user will be
billed and pay for usage of the network. Billing/payment can be done with a credit card
or any other billing approach accepted for mobile communications.
[0037] Once authorization is obtained to use network 62, device 60 can remain
connected to the network and access content from outside of the network (e.g., content
over the Internet) for the duration of a session as long as the device is witInn the
wireless range of network 62 (Fig. 4, step 109).
[0038] At the end of a session on network 62, server 66 can pass usage
information (e.g., the time that device 60 was connected to network 62) to UWNP 40
(Fig. 4, step 110) in order to facilitate subsequent billing for the connection or to
allocate money already paid by the user of device 60 to the UWNP to the ISP/MNO
associated with network 62.
[0039] WInle mobile device 60 is accessing an application over the Internet
(step 109), such as an application hosted by server 50 shown in Fig. 2, through network
62, the synchronization manager (not shown in Figs. 3 A or 3B) tracks the state of any
and all applications run by the mobile device. In some embodiments, the state of
interaction in an Internet-based application is only tracked if the application is
registered with the UWNP to allow for such tracking. The information tracked by
synchronization manager 44 can be subsequently used to re-establish a session with an
appropriate Internet-based application on a new network or with a new device as
described below. Depending on the granularity of data tracking supported by the
Internet-based application, the session can be reestablished at exactly the same point
where the connection was terminated (i.e., the invention allows for seamless roaming)
or can be established at some other previously acIneved point of interaction.
[0040] In some embodiments the synchronization manager or a separate
identity management software component 46 also tracks the state of a user's interaction
with an application when employing different identities on different networks. For
example, a user may have an identity (user ID) such as Johnl23 on network 62 that is
not available on network 64 because either network 64 requires a different format for
user identities or that particular identity was already used by another user on network
64. In such a case when the user roams from network 62 to network 64, an application
that expects the user to have a particular identity may reject a new identity assigned by
network 64. Identity manager component 46 of UWNP 40, however, communicates to
the application via a cookie added to the message (that provides the appropriate
identity) or other accepted approach (e.g., exchange between service or application that
provides claims or credentials or that maps the identity of an identity known by the
service) a single identity. In one embodiment tIns is done by storing a table for each
registered user that tracks various identities of the user as known to different networks
the user may access the Internet with, as known to different devices the user may access
the Internet from and as known to different web sites the user has established identities
with. In other embodiments federation solutions like Liberty Alliance (see
http://www.piojectliberty.org) or WS-Federation (a specification by IBM® and
Microsoft® for sharing user and macInne identities among disparate authentication and
authorization systems) can be used to address these issues.
[0041] When device 60 enters the range of network 64 owned or operated by a
different ISP/MNO than network 62, server 68 sends a request 82 to device 60 that the
device login to network 64 (Fig. 4, step 112). In response to request 82, mobile device
60 may initiate an automatic or manual login process to network 64 that includes a
response 84 (Fig. 4, step 114) similar to the process described above in conjunction
with step 102. Accordingly, response 84 may include user identification information
that enables UWNP 40 to authenticate device 60 for a connection to network 64. In
some embodiments the user will have already established rights to roam to other
networks associated with the UWNP in wInch case authorization can be automatically
provided without requesting payment information from the user. In other embodiments
the user will need to accept a new payment plan/deal to use the new network.
[0042] In response to receiving identification information from device 60,
server 68 sends a request 86 to UWNP 40 to check for billing authorization to establish
that device 60 is authorized for use on network 64 or that the device can be
appropriately billed for its usage of the network (Fig. 4, step 116). UWNP 40 sends a
response 88 back to server 68 indicting that device 60 is an approved client (Fig. 4, step
118) and server 68 then forwards appropriate credentials to device 60 via a response 90
(Fig. 4, step 120) that enables device 60 to remain connected to network 64 and access
content from outside of the network, for example, content over the Internet. Device 60
can than access applications and/or information over the Internet through network 64
wInle the device remains witInn the service range of the network (Fig. 4, step 121).
[0043] The synchronization manager allows the mobile device to continue any
established interaction with an Internet-based application from step 109 in a manner
such that the user may not notice a switch from the first network to the second network.
In some embodiments upon logging onto the second network, UWNP allows the user to
be presented with a list of applications that were being tracked from previous sessions.
The user can then select wInch, if any, applications he would like to resume as if the
interaction was a single continuous session. If the user selects to resume one or more
of the possible applications, the synchronization manager passes sufficient information
to the application so that the user resumes the application at the state at wInch he had
previously left the application. During step 121, the synchronization manager is also
tracking any new applications or updates to the state of existing applications so that
such states can be resumed in any subsequently started session as described above in
conjunction with step 109.
[0044] At the end of a session on network 64, server 68 passes usage
information to UWNP 40 on the device's use of network 64 (Fig. 4, step 122) in order
to facilitate subsequent billing for the connection to network 64 or to allocate money
already paid by the user of device 60 to the UWNP to the ISP/MNO associated with
network 64.
[0045] In some embodiments all exchanges between the UWNP and servers 66,
68 as well as all authentication/authorization exchanges between device 60 and servers
66, 68 are provided by secure web services such as SSL (secure sockets layer)
communications. Also, in some embodiments, steps 102-108 and steps 114-120 may
include one or more dialog boxes that allow the user to select from one or more
different pricing schemes or packages. Similarly, there may be multiple ways to logon
to an individual network such as network 62 or network 64. In such cases, a user may
select in step 102 to logon to the network through UWNP 40 in wInch case a link to the
appropriate login page of the UWNP is provided to the user in step 102.
[0046] A person of skill in the art will also appreciate that wInle in the example
described above, as session on network 62 for device 60 terminated before device 60
was logged into network 64 it is possible for the session on network 62 to terminate
after, or in response to, a connection being established with network 64. Similarly, if
device 60 is witInn range of both networks 62 and 64, the user of the device may select
wInch of the two networks to run applications through based on any of a number of
possible criteria, such as, usage cost, a preference for one network over another,
strength of signal, etc. In other embodiments, the session on network 62 may be
terminated independent of the possibility of establisInng a connection with network 64
or any other network.
[0047] Some embodiments of the invention allow for multiple UWNP service
providers. In such cases the user may select different UWNPs to access different
network providers and different UWNPs can be trusted by different ISPs/MNOs. In
one specific embodiment a federation of UWNPs can exist that follows predefined
protocols for establisInng network identify information without compromising privacy
and security of the information. An example of such identity protocols is described in
U.S. Patent Application No. {{21756-8 case/OID 2003-005-01}}, wInch is hereby
incorporated by reference.
[0048] In some embodiments, if the user who is registered with a first UWNP
(UWNP B) seeks to login to a network where the MNO is only associated with a
second UWNP (UWNP A) that is different from the first UWNP, but both the first and
second UWNPs are in a federation, the authentication process requires an additional
step where UWNP A seeks authentication of the user by the federation by passing a
message to UWNP B. Fig. 5 illustrates one such embodiment.
[0049] Shown in Fig. 5, wInch is a block diagram that illustrates one
embodiment of an authentication process involving multiple UWNPs, is a wireless
network 130 controlled by an access provider, such as an MNO. When a user attempts
to access network 130, a server on the network (not shown) sends a request for
authentication to a server 132 associated with UWNP A. The server at UWNP A
recognizes that the user is registered with UWNP B and is not registered with UWNP A
and seeks authentication of the user from a server 134 associated with UWNP B. The
results of the authentication process are ultimately passed back to the user through
server 132 and 130. Once authentication is obtained, the user is then allowed to access
a desired service or application hosted by a server 136 via the Internet.
[0050] In an embodiment where roaming will result in the user's interaction
with an application being maintained at a particular state prior to the roaming, the
synchronization manager interacts with the wireless mobile device and server hosting
the application. As shown in Fig. 6, a synchronization manager 138 passes information
related to the suspended state of the application to application server ] 36. By way of
example, the information passed may includes user ED information associated with the
session and, after the federation authorizes to pass the session, information associated
to the user ID .
[0051] In further embodiments, the knowledge by the UWNP of a user's IP
address and location (or other address information) can provide the capability to push
notifications to the user from certain applications and/or improve universal messaging
types of services. In one particular embodiment, the user may enter preferences with
the UWNP as to the terms (e.g., where, when and how) such messages should be
routed.
[0052] Having fully described several embodiments of the present invention,
other equivalent or alternative methods of practicing the present invention will be
apparent to those skilled in the art. For example, wInle certain embodiments discussed
above illustrated use of the invention to allow for roaming across two different
networks, the invention is able to allow roaming across three or even many more
networks. Also, wInle the present invention has been described using a particular
combination of hardware and software, it should be recognized that other combinations
of hardware and software are also witInn the scope of the invention. These and other
embodiments as well as alternatives and equivalents to the invention will be
recognizable to those of skill in the art after reading the description of the present
invention. The scope of the invention should not, therefore, be determined solely by
reference to the above description, but instead should be determined with reference to
the appended claims along with their full scope of equivalents and alternatives.
WE CLAIM
1. A method of allowing a user of a wireless mobile device (10,12) to interact
with an internet-based application wInle roaming from a first wireless
network (20) to a second wireless network (22), the user having
established a connection between a wireless mobile device (10) and the
first wireless network (20) allowing the user of the wireless mobile device
(10) to interact with the Internet-based application, the method
comprising:
tracking a state of interaction between the user of the wireless mobile
device and the Internet-based application, the tracking including storing
state data including any data entry and any application option selection by
the user representing a present state of interaction between the user and
the Internet-based application;
establisInng a connection between the wireless mobile device and a
second wireless network; and
sending, to the Internet-based application, data representing the present
state of interaction of the user of the wireless mobile device with the
Internet-based application; and
terminating the connection between the wireless mobile device and the
first wireless network after Internet-based application receives the data
representing the state of interaction, whereby the user is able to continue
to interact with the Internet-based application from the present state of
interaction before the termination.
2. The method as claimed in claim 1, comprising resuming interaction
between the wireless mobile device and the Internet-based application at
the present state determined by the state data sent to the Internet-based
application.
3. The method as claimed in claim, 1 wherein the step of establisInng a
connection to a second wireless network comprises:
sending identity information from the wireless mobile device to a server
on the second wireless network;
sending a request to authenticate the wireless mobile device from the
second wireless network server to a server associated with a tInrd party;
authenticating the mobile device with the tInrd party server; and
sending confirmation of such authentication to the second wireless
network server.
4. The method as claimed in claim 1 wherein the step of establisInng a
connection to a second wireless network comprises:
sending identity information from the wireless mobile device to a server
on the second wireless network;
sending a request to authenticate the wireless mobile device from the
second wireless network server to a server associated with a tInrd party;
determining that authentication of the wireless mobile device must be
provided by a fourth party;
sending a request to authenticate the wireless mobile device form the
tInrd party server to a server associated with the fourth party; and
sending confirmation of such authentication to the second wireless
network server.
5. The method as claimed in claim 1 wherein the wireless mobile device that
interacts with the Internet-based application through the first wireless
network is a different wireless mobile device than that used to interact
with the Internet-based application through the second wireless network.
6. The method as claimed in claim 1 wherein the step of establisInng a
connection to the first wireless network comprises:
sending a request to authenticate the mobile device from the first wireless
network server to a server associated with a tInrd party;
authenticating the mobile device with the tInrd party server; and
sending confirmation of such authentication to the first wireless network
server.
7. The method as claimed in claim 1 wherein the state data related to a state
of interaction with the Internet-based application is tracked by a
synchronization manager component executing on the wireless mobile
device.
8. The method as claimed in claim 1, wherein the state data related to a
state of interaction with the Internet-based application is tracked by a
synchronization manager component executing on a server that is not
associated with the server the Internet-based application executes on.
9. The method as claimed in claim 1, comprising tracking a state of
interaction between the wireless mobile device and the Internet-based
application wInle the wireless mobile device interacts with the Internet-
based application through the second wireless network.
lO.The method as claimed in claim 5, comprising using the wireless mobile
device used to interact with the Internet - based application through the
second wireless network to resume interaction with the Internet-based
application at a state determined by the state data sent to the Internet-
based application.
11.The method as claimed in claim 1, wherein the first wireless network is
the same as the second wireless network.
12. A system for facilitating uninterrupted interaction with an Internet-based
application wInle roaming from a first wireless network (20) to a second
wireless network (22), the interaction occurring between a user of a
wireless mobile device (10,12) and the Internet-based application, the
system comprising:
an authentication component (42) configured to authenticate wireless
mobile devices for use on a plurality of wireless networks; and
a synchronization manager component (44) configured to track a state of
interaction between a wireless mobile device and an Internet-based
application through a first wireless network, and in response to receiving
an appropriate request, the tracking including storing state data including
any data entry and any application option selection by the user
representing a present state of interaction between the user and the
Internet -based application, the synchronization manager being further
configured to establish a session between the wireless mobile device and
the Internet-based application through a second wireless network and
send the state data representing the state of interaction to the Internet-
based application, whereby the user is able to continue to interact with
the Internet-based application from the present state of interaction before
the termination and using the session established through the second
wireless network.
13.The system as claimed in claim 12, wherein the authentication component
is configured to, in response to receiving a request to authenticate the
wireless mobile device for use on a wireless network, receive information
identifying the wireless mobile device, authenticate the mobile device for
use on the wireless network and send confirmation of such authentication
to enable the wireless mobile device to be connected to the wireless
network.
14.The system as claimed in claim 12, comprising a repository, and wherein
the synchronization manager is configured to track the state of the
interaction by periodically storing a data model, representing the state of
the interaction between the wireless mobile device and the Internet-based
application, in the repository.

This invention relates to a method of allowing a user of a wireless mobile device
(10,12) to interact with an internet-based application while roaming from a first
wireless network (20) to a second wireless network (22), the user having
established a connection between a wireless mobile device (10) and the first
wireless network (20) allowing the user of the wireless mobile device (10) to
interact with the Internet-based application, the method comprising; tracking a
state of interaction between the user of the wireless mobile device and the
Internet-based application, the tracking including storing state data including any
data entry and any application option selection by the user representing a
present state of interaction between the user and the Internet-based application;
establishing a connection between the wireless mobile device and a second
wireless network; and sending, to the Internet-based application, data
representing the present state of interaction of the user of the wireless mobile
device with the Internet-based application; and terminating the connection
between the wireless mobile device and the first wireless network after Internet-
based application receives the data representing the state of interaction,
whereby the user is able to continue to interact with the Internet-based
application from the present state of interaction before the termination.

Documents:

2667-KOLNP-2005-CORRESPONDENCE.pdf

2667-KOLNP-2005-FOR ALTERATION OF ENTRY.pdf

2667-KOLNP-2005-FORM 13.pdf

2667-KOLNP-2005-FORM 27.pdf

2667-KOLNP-2005-FORM-27-1.1.pdf

2667-KOLNP-2005-FORM-27.pdf

2667-kolnp-2005-granted-abstract.pdf

2667-kolnp-2005-granted-claims.pdf

2667-kolnp-2005-granted-correspondence.pdf

2667-kolnp-2005-granted-description (complete).pdf

2667-kolnp-2005-granted-drawings.pdf

2667-kolnp-2005-granted-examination report.pdf

2667-kolnp-2005-granted-form 1.pdf

2667-kolnp-2005-granted-form 18.pdf

2667-kolnp-2005-granted-form 2.pdf

2667-kolnp-2005-granted-form 26.pdf

2667-kolnp-2005-granted-form 3.pdf

2667-kolnp-2005-granted-form 5.pdf

2667-kolnp-2005-granted-reply to examination report.pdf

2667-kolnp-2005-granted-specification.pdf

2667-KOLNP-2005-PA.pdf


Patent Number 233841
Indian Patent Application Number 2667/KOLNP/2005
PG Journal Number 16/2009
Publication Date 17-Apr-2009
Grant Date 16-Apr-2009
Date of Filing 22-Dec-2005
Name of Patentee ORACLE INTERNATIONAL CORPORATION
Applicant Address 500 ORACLE PARKWAY, REDWOOD SHORES, CALIFORNIA 94065
Inventors:
# Inventor's Name Inventor's Address
1 MAES, STEPHANE, H. 1093 NEZ PERCA COURT, FREMONT, CALIFORNIA 94539
PCT International Classification Number H04Q 7/38,H04L 12/28
PCT International Application Number PCT/US2004/019266
PCT International Filing date 2004-06-15
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 60/483,283 2003-06-27 U.S.A.
2 10/856,560 2004-05-28 U.S.A.