U.S. patent application number 13/402221 was filed with the patent office on 2013-04-18 for dynamic profile switching.
This patent application is currently assigned to GOOGLE INC.. The applicant listed for this patent is Hugo Barra, Gabriel Cohen, Henry Will Schneiderman, Michael Andrew Sipe. Invention is credited to Hugo Barra, Gabriel Cohen, Henry Will Schneiderman, Michael Andrew Sipe.
Application Number | 20130097416 13/402221 |
Document ID | / |
Family ID | 48086804 |
Filed Date | 2013-04-18 |
United States Patent
Application |
20130097416 |
Kind Code |
A1 |
Barra; Hugo ; et
al. |
April 18, 2013 |
DYNAMIC PROFILE SWITCHING
Abstract
Methods and apparatuses are disclosed for dynamic switching of
user profiles on computing devices. In one method, the computing
device identifies a first user profile under which the computing
device is operating. The first user profile is associated with a
first user value indicative of a first user. The computing device
receives an image from an image-sensing device, generates a current
user value indicative of a current user based on the received
image, and determines if the current user value corresponds to the
first user value. If the current user value does not correspond to
the first user value, the computing device configures at least some
programs operating on the computing device using a second user
profile that is selected based on the current user value. If the
current user value does correspond to the first user value, the
computing device continues to operate using the first user
profile.
Inventors: |
Barra; Hugo; (Mountain View,
CA) ; Cohen; Gabriel; (Alameda, CA) ; Sipe;
Michael Andrew; (Pittsburgh, PA) ; Schneiderman;
Henry Will; (Pittsburgh, PA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Barra; Hugo
Cohen; Gabriel
Sipe; Michael Andrew
Schneiderman; Henry Will |
Mountain View
Alameda
Pittsburgh
Pittsburgh |
CA
CA
PA
PA |
US
US
US
US |
|
|
Assignee: |
GOOGLE INC.
Mountain View
CA
|
Family ID: |
48086804 |
Appl. No.: |
13/402221 |
Filed: |
February 22, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61548430 |
Oct 18, 2011 |
|
|
|
Current U.S.
Class: |
713/100 |
Current CPC
Class: |
G06F 21/32 20130101;
G06F 9/4451 20130101; H04M 1/72569 20130101; H04M 2250/52
20130101 |
Class at
Publication: |
713/100 |
International
Class: |
G06F 9/00 20060101
G06F009/00 |
Claims
1. A method of operating a computing device having an image-sensing
device, the method comprising: identifying a first user profile
under which the computing device is operating, the first user
profile associated with a first user value indicative of a first
user; receiving an image from the image-sensing device; generating
a current user value indicative of a current user of the computing
device based on the received image; determining if the current user
value corresponds to the first user value; and configuring at least
some programs operating on the computing device using a second user
profile that is selected based on the current user value if the
current user value does not correspond to the first user value.
2. The method in claim 1, further comprising: continuing to operate
the computing device using the first user profile if the current
user value corresponds to the first user value.
3. The method in claim 1, further comprising: comparing the current
user value to a stored user value of each user profile of a
plurality of stored user profiles if the current user value does
not correspond to the first user value; and selecting a guest
profile as the second user profile if the current user value does
not correspond to the stored user value of any user profile of the
plurality of stored user profiles.
4. The method in claim 1, further comprising: comparing the current
user value to a stored user value of each user profile of a
plurality of stored user profiles if the current user value does
not correspond to the first user value; creating the second user
profile if the current user value does not correspond to the stored
user value of any user profile of the plurality of stored user
profiles; and displaying an interface for configuring the second
user profile.
5. The method in claim 1, further comprising: comparing the current
user value to a stored user value of each user profile of a
plurality of stored user profiles if the current user value does
not correspond to the first user value; displaying one or more
indicators if the current user value does not correspond to the
stored user value of any user profile of the plurality of stored
user profiles, wherein each indicator of the one or more indicators
is associated with a respective stored user profile of the
plurality of stored user profiles; receiving a signal selecting an
indicator of the one or more indicators; and selecting the stored
user profile that is associated with the selected indicator as the
second user profile.
6. The method of claim 1 wherein the first user profile and second
user profile are stored in a location external to the computing
device.
7. A method of operating a computing device having an image-sensing
device, the method comprising: identifying a first user profile
under which the computing device is operating, the first user
profile associated with a first user value indicative of a first
user; receiving an image from the image-sensing device; generating
a current user value indicative of a current user of the computing
device based on the received image; determining if the current user
value corresponds to the first user value; and determining if a
second user profile is available to the computing device if the
current user value does not correspond to the first user value, the
second user profile associated with a second user value.
8. The method in claim 7, further comprising: continuing to operate
the computing device using the first user profile if the current
user value corresponds to the first user value.
9. The method in claim 7, further comprising: determining if the
current user value corresponds to the second user value; and
retrieving the second user profile if the current user value
corresponds to the second user value; and sending a notification to
the user if the second user profile is retrieved, the notification
requesting selection of the first user profile or the second user
profile.
10. The method in claim 9, further comprising: receiving a signal
indicating selection of the first user profile; and continuing to
operate the computing device using the first user profile in
response to selection of the first user profile.
11. The method in claim 9, further comprising: receiving a signal
indicating selection of the second user profile; and configuring at
least some programs operating on the computing device using the
second user profile in response to selection of the second user
profile.
12. The method in claim 7, further comprising: configuring at least
some programs operating on the computing device using a guest
profile if the current user value does not correspond to the second
user value.
13. The method in claim 7, further comprising: determining if the
current user value corresponds to the second user value; displaying
one or more indicators if the current user value does not
correspond to the second user value, wherein each indicator of the
one or more indicators is associated with a respective user profile
of a plurality of user profiles; receiving a signal selecting an
indicator of the one or more indicators; retrieving the user
profile that is associated with the selected indicator; and
configuring at least some programs operating on the computing
device using the user profile that is associated with the selected
indicator.
14. The method in claim 7, further comprising: displaying an
interface for establishing a user profile for the current user if
the current user value does not correspond to the second user
value.
15. The method of claim 7 wherein the first user profile and second
user profile are stored in a location external to the computing
device.
16. A computing device comprising: an input-output device; an
image-sensing device; a memory; and one or more processors wherein
the one or more processors are configured to execute instructions
stored in the memory to: identify a first user profile under which
the computing device is operating, the first user profile
associated with a first user value indicative of a first user;
receive an image from the image-sensing device; generate a current
user value indicative of a current user of the computing device
based on the received image; determine if the current user value
corresponds to the first user value; and configure at least some
programs operating on the computing device using a second user
profile that is selected based on the current user value if the
current user value does not correspond to the first user value.
17. The computing device of claim 16, wherein the processor is
further configured to: continue to operate the computing device
using the first user profile if the current user value corresponds
to the first user value.
18. The computing device of claim 16, wherein the processor is
further configured to: compare the current user value to a stored
user value of each user profile of a plurality of stored user
profiles if the current user value does not correspond to the first
user value; and select a guest profile as the second user profile
if the current user value does not correspond to the stored user
value of any user profile of the plurality of stored user
profiles.
19. The computing device of claim 16, wherein the processor is
further configured to: compare the current user value to a stored
user value of each user profile of a plurality of stored user
profiles if the current user value does not correspond to the first
user value; create the second user profile if the current user
value does not correspond to the stored user value of any user
profile of the plurality of stored user profiles; and display an
interface for configuring the second user profile.
20. The computing device of claim 16, wherein the processor is
further configured to: compare the current user value to a stored
user value of each user profile of a plurality of stored user
profiles if the current user value does not correspond to the first
user value; display one or more indicators if the current user
value does not correspond to the stored user value of any user
profile of the plurality of stored user profiles, wherein each
indicator of the one or more indicators is associated with a
respective stored user profile of the plurality of stored user
profiles; receive a signal selecting an indicator of the one or
more indicators; and select the stored user profile that is
associated with the selected indicator as the second user profile.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent
Application No. 61/570,521, filed Dec. 14, 2011, which is hereby
incorporated by reference in its entirety.
TECHNICAL FIELD
[0002] The present disclosure relates to dynamically switching user
profiles.
BACKGROUND
[0003] Computing devices such as mobile telephones, tablets, and
laptops have proliferated in recent years. These devices can be
equipped with processors, memory, and the capability to communicate
through local and wide area networks, including the Internet. With
some computing devices, the user of the computing device can
establish a user profile and store a set of preferences for
operating the computing device in the user profile. The user
profile can include the files and folders saved by the user; the
applications, software, programs, etc. downloaded to the computing
device by the user; security settings for loading the user profile;
operation restrictions for the user; layout of the display of the
computing device including font size, icon size, type of wallpaper,
etc.; and any other items or settings for operation of the user
profile on the computing device.
SUMMARY
[0004] Disclosed herein are methods and apparatuses for dynamic
switching of user profiles on computing devices.
[0005] One aspect of the disclosed embodiments is a method of
operating a computing device having an image-sensing device. The
method includes identifying a first user profile under which the
computing device is operating. The first user profile is associated
with a first user value indicative of a first user. The method
further includes receiving an image from the image-sensing device,
generating a current user value indicative of a current user of the
computing device based on the received image, determining if the
current user value corresponds to the first user value, and
configuring at least some programs operating on the computing
device using a second user profile that is selected based on the
current user value if the current user value does not correspond to
the first user value.
[0006] Another aspect of the disclosed embodiments is a method of
operating a computing device having an image-sensing device. The
method includes identifying a first user profile under which the
computing device is operating. The first user profile is associated
with a first user value indicative of a first user. The method
further includes receiving an image from the image-sensing device,
generating a current user value indicative of a current user of the
computing device based on the received image, determining if the
current user value corresponds to the first user value, and
determining if a second user profile is available to the computing
device if the current user value does not correspond to the first
user value, the second user profile associated with a second user
value.
[0007] Another aspect of the disclosed embodiments is a computing
device. The computing device includes an input-output device, such
as a display screen, an image-sensing device, a memory, and one or
more processors. The one or more processors are configured to
execute instructions stored in the memory to identify a first user
profile under which the computing device is operating. The first
user profile is associated with a first user value indicative of a
first user. The one or more processors are further configured to
receive an image from the image-sensing device, generate a current
user value indicative of a current user of the computing device
based on the received image, determine if the current user value
corresponds to the first user value, and configure at least some
programs operating on the computing device using a second user
profile that is selected based on the current user value if the
current user value does not correspond to the first user value.
[0008] These and other embodiments will be described in additional
detail hereafter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The description herein makes reference to the accompanying
drawings wherein like reference numerals refer to like parts
throughout the several views, and wherein:
[0010] FIG. 1 is a block diagram showing an example of a computing
device.
[0011] FIGS. 2A and 2B are illustrations showing the operation of a
profile utility application as displayed on the display screen of a
computing device.
[0012] FIG. 3 is an illustration showing an operation in which a
different user profile is selected for operation of the computing
device.
[0013] FIG. 4 is a flow chart showing a process for dynamically
switching a user profile on a computing device.
DETAILED DESCRIPTION
[0014] As computing devices proliferate, so do the number of users
operating each computing device. Some device users can find some
traditional methods of loading and operating a user profile
cumbersome, such as providing a username and password, if the
computing device includes a limited user interface. Some device
users can also find some traditional methods of accessing a user
profile difficult to execute. Some device users can be incapable of
complying with some traditional methods but still need to be
provided a specific user profile. For example, a young child can
share a computing device with a parent and be capable of running
some games and applications on the computing device and at the same
time be incapable of entering a username and password.
[0015] The apparatuses and methods described herein, in some cases,
allow for switching from a first user profile to a second user
profile, limiting access to the files, folders, applications,
security settings, etc. of the first user of the computing device
while loading the files, folders, applications, security settings,
etc. of the second user of the computing device without requiring
the first user to log out or lock operation of the computing device
or the second user to manually enter information to load and
operate the second user profile.
[0016] FIG. 1 is a block diagram of an example of a computing
device 10. The computing device 10 can be in the form of a
computing system including multiple computing devices, or in the
form of a single computing device, for example, a mobile phone, a
tablet computer, a laptop computer, a notebook computer, and the
like.
[0017] The computing device 10 can include a data processing
apparatus, which in this case is a central processing unit, CPU 12,
and a memory 14. As an example, the CPU 12 can be a conventional
central processing unit. Alternatively, the CPU 12 can be any other
type of device, or multiple devices now-existing or hereafter
developed, capable of manipulating or processing information,
including, for example, optical processors, quantum and/or
molecular processors, general purpose processors, special purpose
processors, IP cores, ASICS, programmable logic arrays,
programmable logic controllers, microcode, firmware,
microcontrollers, microprocessors, digital signal processors,
memory, or any combination of the foregoing. In the claims, the
term "processor" should be understood as including any of the
foregoing, either singly or in combination. Although the disclosed
embodiments can be practiced with a single processor as shown, e.g.
CPU 12, advantages in speed and efficiency can be achieved using
more than one processor.
[0018] The memory 14 in the computing device 10 can be a random
access memory device (RAM). Any other suitable type of storage
device can be used as the memory 14. The memory 14 can include code
and data 18 that is accessed by the CPU 12 using a bus 16. The
memory 14 can further include an operating system 20 and
application programs 22, the application programs 22 including
programs that permit the CPU 12 to perform the methods described
herein. For example, the application programs 22 can include
applications 1 through N which further include a profile utility
application that performs the methods described herein. The
computing device 10 can also include a secondary storage 24, which
can, for example, be a memory card used with a mobile computing
device 10. Because the user profiles may contain a significant
amount of information, they can be stored in whole or in part in
the secondary storage 24 and loaded into the memory 14 as needed
for processing.
[0019] The computing device 10 can also include one or more
input-output devices, such as a display screen 26, which can be a
touch sensitive display screen that combines a display with a touch
sensitive element that is operable to sense touch inputs. The
display screen 26 is coupled to the CPU 12 via the bus 16. Other
input-output devices that permit a user to program or otherwise use
the computing device 10 can be provided in addition to or as an
alternative to the display screen 26. When the input-output device
is or includes a display, the display can be implemented in various
ways, including by a liquid crystal display (LCD) or a cathode-ray
tube (CRT) or light emitting diode (LED) display, such as an OLED
display.
[0020] The computing device 10 can also include an image-sensing
device, for example front-facing camera 28, or any other
image-sensing device now existing or hereafter developed that can
sense the image of a user operating the computing device 10. The
front-facing camera 28 can be positioned such that it is directed
toward a user that is operating the computing device 10. Stated
another way, the position and optical axis of the front-facing
camera 28 can be configured such that the field of vision of the
front-facing camera 28 includes an area that is directly adjacent
to the display screen 26, from which the display screen 26 is
visible. The front-facing camera 28 can be configured to receive
images, for example, of the face of a user while the user is
operating the computing device 10.
[0021] Although FIG. 1 depicts the CPU 12 and the memory 14 as
being integrated into a single unit, other configurations can be
utilized. The operations of the CPU 12 can be distributed across
multiple machines (each machine having one or more of processors)
which can be coupled directly or across a local area or other
network. The memory 14 can be distributed across multiple machines
such as network-based memory or memory in multiple machines
performing the operations of the computing device 10. Although
depicted here as a single bus, the bus 16 can be composed of
multiple buses. Further, the secondary storage 24 can be directly
coupled to the other components of the computing device 10 or can
be accessed via a network and can comprise a single integrated unit
such as a memory card or multiple units such as multiple memory
cards. The computing device 10 can thus be implemented in a wide
variety of configurations.
[0022] FIGS. 2A and 2B are illustrations showing the operation of a
profile utility application as displayed on the input-output
device, in this case a display screen 26, of a computing device 10.
The computing device 10 includes the image-sensing device, in this
case the front-facing camera 28, described in FIG. 1. The
front-facing camera 28 faces the user while the user operates the
computing device 10 and is capable of receiving an image. The
computing device 10 also includes various application programs 22
as described in FIG. 1. Icons 32a-e which render on the display
screen 26 can represent a set of application programs 22 with each
icon 32a-e being capable of selection by a user to operate a given
application program 22 on the computing device 10. Different users
of the same computing device 10 can each establish a user profile
which includes preferences for operating the computing device 10
associated with the user.
[0023] FIG. 2A shows the operation of a first user profile with the
icons 32a-e representing five different application programs 22
that a first user can operate on the computing device 10 as
associated with the first user profile. FIG. 2B shows the operation
of a second user profile with the icons 32a-c representing three
different application programs 22 that a second user can operate on
the computing device 10 as associated with the second user profile.
User profiles can include different application programs 22 that
are available to different users, different settings for the
computing device 10 such as font size and icon 32a-e size as shown
by comparing the icon 32a-e size between FIG. 2A and FIG. 2B,
different files and folders as initiated and stored by different
users, and different security and access settings that regulate
what types of application programs 22 can be operated by the user
on the computing device 10. For example, the first user profile
shown in FIG. 2A has access to the Internet through icon 32d and to
a camera through icon 32e, whereas the second user profile shown in
FIG. 2B does not have icons enabling access to the internet or to
the camera. The various application programs 22, display settings,
security and access settings, and files and folders available for a
given user profile can be collectively described as "programs."
[0024] FIG. 3 is an illustration showing an operation in which a
different user profile is selected for operation of the computing
device 10. In this example, a first user 40 and a second user 42
have both previously established user profiles on the computing
device 10. The image-sensing device, in this example the
front-facing camera 28, is operable to capture one or more images
of the first user 40 while the first user 40 is operating the
computing device 30 by interacting with the display screen 26. The
computing device 10 can configure at least some programs that are
operating on the computing device 10 using a first user profile
that has been established by the first user 40 and is associated
with the first user 40. The first user profile can include a value
that represents the first user 40, such as an image of the first
user's face, or data that is derived from or representative of the
first user's face.
[0025] In this example, during the time period when the computing
device 10 is configured according to the first user profile (i.e.
operating under the first user profile), the device can be handed
to or picked up by the second user 42. The front-facing camera 28
can capture an image of the second user 42. The computing device 10
can configure at least some programs operating on the computing
device 10 using the second user profile if the computing device 10
determines that the image of the second user 42 corresponds to a
value that is stored in the second user profile. A second user
profile can be utilized to configure the computing device 10 if the
second user profile is associated in some way with the captured
image of the second user 42. This operation can be performed
without an affirmative action that "logs out" the first user 40,
suspends operation of the computing device 10, or locks operation
of the computing device 10.
[0026] In other examples, the first user 40 can be "logged out" of
the device or have otherwise placed the computing device 10 into a
low power state, a locked state, or other state in which the
computing device 10 is no longer in active use. The computing
device 10 may or may not continue to be configured according to the
first user profile. When the computing device 10 is picked up by
the second user 42, the front-facing camera 28 can capture an image
of the second user 42. The computing device 10 can configure at
least some programs operating on the computing device 10 using the
second user profile if the computing device 10 determines that the
image of the second user 42 corresponds to a value that is stored
in the second user profile. That is to say that the second user
profile is utilized to configure the computing device 10 if the
second user profile is associated in some way with the captured
image of the second user 42.
[0027] In other examples, the second user 42 may not have
previously established a user profile on the computing device 10.
In these examples, the computing device 10 can deny access to the
second user 42 or can allow access to the second user 42. Examples
for allowing access to the second user 42 when a user profile has
not previously been established will be explained herein. The
operations of the various methods of dynamically switching a user
profile on the computing device 10 are further explained in
connection with FIG. 4 below.
[0028] FIG. 4 is a flow chart showing an example of a process 50
for dynamically switching a user profile on a computing device 10.
In process 50, the computing device 10 is initially configured
according to and operating under a first user profile.
[0029] In stage 52, the computing device 10 can identify a first
user profile under which the computing device 10 is operating. The
first user profile can be associated with a first user value
indicative of a first user. The first user value can have been
previously generated by the computing device 10 based on one or
more images associated with a first user of the computing device
10. For example, one or more images of the first user can be
captured by the image-sensing device, e.g. the front-facing camera
28, on the computing device 10 and an image-analysis algorithm can
be employed to analyze the one or more images of the first user and
generate geometric data indicative of one or more facial features
in the one or more images that can be used as a first user value.
The first user value can be the basis for comparison to geometric
data generated from images captured during operation of the
computing device 10 by a current user.
[0030] In stage 54, the computing device 10 can receive an image
from the front-facing camera 28. The image received can be that of
the face of the current user of the computing device 10.
[0031] In stage 56, the computing device 10 can generate a current
user value indicative of the current user of the computing device
10 based on the image received in stage 54. For example, the
current user value can be generated by a facial recognition
application program detecting one or more specific positions, or
coordinates, of facial features (e.g. corners of the eyes, corners
of the mouth, top and bottom edges of the lips, etc.). Other facial
features and positions are also possible and can be detected by the
facial recognition application to generate the current user
value.
[0032] In stage 58, the computing device 10 can compare the current
user value to the first user value. For example, the computing
device 10 can compare the coordinates of facial features of the
first user value and current user value.
[0033] In decision block 60, the computing device 10 can make a
determination as to whether the current user value corresponds to
the first user value. For example, the computing device 10 can
determine if a coordinate comparison between the current user value
and first user value indicates that the coordinates are similar
enough to indicate to the computing device 10 that the current user
has the same identity as the first user having the first user
profile operating on the computing device 10.
[0034] If, at decision block 60, the computing device 10 determines
that the current user value corresponds to the first user value,
the computing device 10 can continue to operate using the first
user profile at stage 62. If the computing device 10 continues to
operate using the first user profile, the process 50 ends. The
current user, in this case the first user, need not be aware that
the process 50 has occurred, allowing seamless operation of the
computing device 10. Stages 52 through 58 and decision block 60 of
process 50 can occur periodically, at a set interval or prompt by
an application program, or continuously during the operation of the
computing device 10. The profile utility application can also be
disabled by the current user in the case where the current user
wishes to allow another user to operate the computing device 10
without switching profiles.
[0035] If, at decision block 60, the computing device 10 determines
that the current user value does not correspond to the first user
value, the computing device 10 can be configured to operate at
least some programs using a second user profile that is selected
based on the current user value at stage 64. If the computing
device 10 configures at least some programs using the second user
profile, the process 50 ends. There are several embodiments of
stage 64 that will be described below.
[0036] In one embodiment of stage 64 where the current user value
does not correspond to the first user value, the computing device
10 can compare the current user value to a stored user value of
each user profile of a plurality of stored user profiles. If the
current user value does not correspond to the stored user value of
any user profile of the plurality of stored user profiles, the
computing device 10 can select a guest profile as the second user
profile. The guest profile can have limited access to application
programs 22, files, folders, etc. This embodiment allows a current
user without a stored user profile to operate the computing device
10 without exposing the security settings, files, folders,
application programs 22, etc. of stored user profiles to the
current user.
[0037] In another embodiment of stage 64 where the current user
value does not correspond to the first user value, the computing
device 10 can compare the current user value to a stored user value
of each user profile of a plurality of stored user profiles. If the
current user value does not correspond to the stored user value of
any user profile of the plurality of stored user profiles, the
computing device 10 can create the second user profile for the
current user and display an interface for configuring the second
user profile to the current user. This embodiment allows a current
user without a stored user profile to configure their own user
profile on the computing device 10 specifying the security
settings, application programs 22, etc. the current user prefers to
use while operating the computing device 10 without exposing the
security settings, files, folders, application programs 22, etc. of
stored user profiles to the current user.
[0038] In another embodiment of stage 64 where the current user
value does not correspond to the first user value, the computing
device 10 can compare the current user value to a stored user value
of each user profile of a plurality of stored user profiles. If the
current user value does not correspond to the stored user value of
any stored user profile of the plurality of stored user profiles,
the computing device 10 can display one or more indicators, wherein
each indicator of the one or more indicators is associated with a
respective stored user profile of the plurality of stored user
profiles. The current user can select an indicator using the user
interface of the computing device 10. The computing device 10 can
receive the signal that the current user has selected an indicator
of the one or more indicators, and the computing device 10 can
select the stored user profile that is associated with the selected
indicator as the second user profile to be configured on the
computing device 10. This embodiment is useful in the case where
the current user value does not correspond to a stored user value
due to changes to the physical features of the current user, for
example, changes in facial hair, low lighting during the image
capture, changes in eyeglasses for the current user, an
inconvenient black eye, etc. The computing device 10 can further
require additional security measures, such as a password or PIN
number entry, if the current user selects a stored user profile due
to the current user value failing to correspond to a stored user
value.
[0039] In another embodiment of stage 64 where the current user
value does not correspond to the first user value, the computing
device 10 can compare the current user value to a stored user value
of each user profile of a plurality of stored user profiles. If the
current user value corresponds to a stored user value of a stored
user profile, the computing device 10 can send a notification to
the user, the notification requesting selection of the first user
profile, e.g. the current user profile, or the second user profile,
e.g. the stored user profile. The notification can be, for example,
an indicator that another profile is available for use displayed in
the background or on a notification bar on the display screen 26 of
the computing device 10. In this example, if the computing device
10 receives a signal indicating selection of the first user
profile, the computing device 10 continues to operate using the
first user profile. If the computing device 10 receives a signal
indicating selection of the second user profile, the computing
device 10 configures at least some programs using the second user
profile. If the notification is ignored, the computing device 10
continues to operate using the first user profile. This embodiment
is useful in the case where a second user seeks to update settings,
applications, or features for a first user without immediately
switching user profiles. For example, the second user can be a
parent and the first user a child with the parent picking up the
computing device 10 to install a new application for the child
currently using the computing device 10.
[0040] In each of the embodiments of the process 50 for dynamically
switching a user profile on a computing device 10, the first user
profile and second user profile can be stored in a location
external to the computing device 10. For example, a computing
device 10 can be a public device such as a clock-radio in a hotel
room capable of operating with user profiles. The current user of
the clock-radio can have a user profile stored using a cloud
computing service, or the cloud. The cloud can include hundreds or
thousands of servers configured to provide scalable computing
resources. Storing the user profile on the cloud can, for example,
allow more than one computing device 10 to access the user profile.
In this example, the current user of the clock-radio can access
personal files, folders, and/or application programs 22 on the
clock-radio after the clock-radio has been configured with the
stored user profile associated with the current user.
[0041] The embodiments of the computing device 10 (and the
algorithms, methods, instructions etc. stored thereon and/or
executed thereby) can be realized in hardware including, for
example, intellectual property (IP) cores, application-specific
integrated circuits (ASICs), programmable logic arrays, optical
processors, programmable logic controllers, microcode, firmware,
microcontrollers, servers, microprocessors, digital signal
processors or any other suitable circuit. In the claims, the term
"processor" should be understood as encompassing any the foregoing,
either singly or in combination. The terms "signal" and "data" are
used interchangeably. Further, portions of computing device 10 do
not necessarily have to be implemented in the same manner.
[0042] In one embodiment, the computing device 10 can be
implemented using a general purpose computer/processor with a
computer program that, when executed, carries out any of the
respective methods, algorithms and/or instructions described
herein. In addition or alternatively, for example, a special
purpose computer/processor can be utilized which can contain
specialized hardware for carrying out any of the methods,
algorithms, or instructions described herein.
[0043] Further, all or a portion of embodiments described can take
the form of a computer program product accessible from, for
example, a computer-usable or computer-readable medium. A
computer-usable or computer-readable medium can be any device that
can, for example, tangibly contain, store, communicate, or
transport the program for use by or in connection with any
processor. The medium can be, for example, an electronic, magnetic,
optical, electromagnetic, or a semiconductor device. Other suitable
mediums are also available.
[0044] While this disclosure includes what is presently considered
to be the most practical and preferred embodiments, it is to be
understood that the disclosure is not to be limited to the
disclosed embodiments but, on the contrary, is intended to cover
various modifications and equivalent arrangements included within
the spirit and scope of the appended claims, which scope is to be
accorded the broadest interpretation so as to encompass all such
modifications and equivalent structures as is permitted under the
law.
* * * * *