U.S. patent application number 12/861623 was filed with the patent office on 2011-02-24 for user detection for enhanced conferencing services.
This patent application is currently assigned to AVAYA INC.. Invention is credited to Raj Sinha.
Application Number | 20110047242 12/861623 |
Document ID | / |
Family ID | 43085839 |
Filed Date | 2011-02-24 |
United States Patent
Application |
20110047242 |
Kind Code |
A1 |
Sinha; Raj |
February 24, 2011 |
USER DETECTION FOR ENHANCED CONFERENCING SERVICES
Abstract
Mechanisms are provided herein which accommodate the sharing of
a user device among multiple users. In particular, when multiple
users are detected as sharing a user device, functionality of the
user device may be altered in accordance with preferences and
profiles of the sharing users. Data associated with each sharing
user may also be distributed during a communication session
according to each user's data distribution preferences of each
user.
Inventors: |
Sinha; Raj; (West Orange,
NJ) |
Correspondence
Address: |
SHERIDAN ROSS P.C.
1560 BROADWAY, SUITE 1200
DENVER
CO
80202
US
|
Assignee: |
AVAYA INC.
Basking Ridge
NJ
|
Family ID: |
43085839 |
Appl. No.: |
12/861623 |
Filed: |
August 23, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61235838 |
Aug 21, 2009 |
|
|
|
Current U.S.
Class: |
709/217 ;
715/750 |
Current CPC
Class: |
H04W 4/02 20130101; H04L
67/24 20130101; H04L 45/586 20130101; H04M 7/0057 20130101; H04L
65/403 20130101; H04L 67/306 20130101; G06F 9/543 20130101; H04L
41/0803 20130101; H04L 67/04 20130101; H04L 45/02 20130101; H04W
64/00 20130101 |
Class at
Publication: |
709/217 ;
715/750 |
International
Class: |
G06F 3/01 20060101
G06F003/01; G06F 15/16 20060101 G06F015/16 |
Claims
1. A method, comprising: detecting two or more users sharing a user
device; and in response to detecting the two or more users sharing
the user device, altering a function of the user device such that
the user device utilizes a multi-user rule set defining the
operation of the function instead of a single-user rule set
defining the operation of the function thereby accommodating a
simultaneous use of the user device by the detected two or more
users.
2. The method of claim 1, wherein detecting two or more users
sharing the user device comprises detecting two or more users
within proximity of the user device.
3. The method of claim 2, wherein the two or more users are
detected by at least one of facial recognition, SIM card detection,
and RFID detection.
4. The method of claim 1, wherein the two or more users comprise a
first user and a second users and wherein altering a function of
the user device comprises at least one of (i) providing data to the
second user that is associated with the first user and (ii)
providing data to the first user that is associated with the second
user.
5. The method of claim 4, wherein the two or more users are
involved in a communication session with a third user utilizing a
separate user device and wherein at least one of the data
associated with the first user and data associated with the second
user is provided to the third user, wherein input from the first
user is provided to the third user with a first speaker, and
wherein input from the second user is provided to the third user
with a second speaker.
6. The method of claim 5, wherein data associated with the first
user is provided to the third user and wherein data associated with
the second user is not provided to the third user.
7. The method of claim 5, further comprising: retrieving a first
set of data associated with the first user; retrieving a second set
of data associated with the second user; and transmitting, via a
network interface of the user device, both sets of data to the
separate user device being utilized by the third user.
8. The method of claim 7, wherein the first set of data comprises
contact information for the first user and wherein the second set
of data comprises contact information for the second user.
9. The method of claim 1, wherein altering a function of the user
device comprises connecting the user device to a terminal
adaptor.
10. The method of claim 1, further comprising: determining that a
first of the two or more users has a special communications need;
identifying that a particular function of the user device is
required to accommodate the special communication need; and
implementing the particular function as a part of altering a
function of the user device.
11. A computer readable medium having stored thereon instructions
that cause a computing system to execute a method, the instructions
comprising: instructions configured to detect two or more users
sharing a user device; and instructions configured to alter a
function of the user device such that the user device utilizes a
multi-user rule set defining the operation of the function instead
of a single-user rule set defining the operation of the function
thereby accommodating a simultaneous use of the user device by the
detected two or more users.
12. The computer readable medium of claim 11, wherein detecting two
or more users sharing the user device comprises detecting two or
more users within proximity of the user device.
13. The computer readable medium of claim 11, wherein the two or
more users comprise a first user and a second users and wherein
altering a function of the user device comprises at least one of
(i) providing data to the second user that is associated with the
first user and (ii) providing data to the first user that is
associated with the second user.
14. The computer readable medium of claim 13, wherein the two or
more users are involved in a communication session with a third
user utilizing a separate user device and wherein at least one of
the data associated with the first user and data associated with
the second user is provided to the third user.
15. The computer readable medium of claim 11, wherein altering a
function of the user device comprises connecting the user device to
a terminal adaptor.
16. The computer readable medium of claim 11, wherein the
instructions further comprise: instructions configured to determine
that a first of the two or more users has a special communications
need; instructions configured to identify that a particular
function of the user device is required to accommodate the special
communication need; and instructions configured to implement the
particular function as a part of altering a function of the user
device.
17. A user device, comprising: a user detection module configured
to detect two or more users sharing a user device; and a
functionality management module configured to alter a function of
the user device such that the user device utilizes a multi-user
rule set defining the operation of the function instead of a
single-user rule set defining the operation of the function thereby
accommodating a simultaneous use of the user device by the detected
two or more users.
18. The user device of claim 17, wherein the two or more users are
virtually sharing the user device.
19. The user device of claim 17, wherein the two or more users are
physically sharing the user device.
20. The user device of claim 17, wherein the two or more users
comprise a first user and a second users and wherein altering a
function of the user device comprises at least one of (i) providing
data to the second user that is associated with the first user and
(ii) providing data to the first user that is associated with the
second user.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional
Application No. 61/235,838, filed Aug. 21, 2009, the entire
disclosure of which is hereby incorporated herein by reference.
FIELD OF THE INVENTION
[0002] The present invention is generally directed toward
communications and more specifically toward conferencing
services.
BACKGROUND
[0003] Most phones, computers, televisions, and similar user
devices are currently designed to be used by a single user. This
design limitation is not consistent with many intended uses of such
user devices. In particular, many use cases exist whereby one user
desires to share their user device with another user device. Such
use cases exist in business environment as well as the personal-use
environment.
[0004] As one exemplary use case, two or more co-workers may have
scheduled a conference call with a third user. The co-workers may
decide to meet at one of the co-worker's offices and share the user
device within that office. While some phones are provided with a
speaker phone capability to facilitate use by multiple users, no
other features of the phone are altered to accommodate multiple
users. Moreover, no multiple-user feature of the phone is known to
automatically react to the presence of two or more users within
proximity of a common user device.
SUMMARY
[0005] It is with respect to the above issues and other problems
that the embodiments presented herein were contemplated.
Embodiments of the present invention proposed herein provide one or
more mechanisms which allow a user device to automatically and/or
manually identify that multiple users are sharing a user device
(e.g., are in proximity to the user device). Examples of such
automated mechanisms include facial recognition technologies, SIM
card detection (e.g., detect cell phones or mobile communication
devices of multiple users by establishing a bluetooth or similar
wireless association with the mobile devices of the users), Radio
Frequency Identification (RFID) detection technologies, proximity
sensors, and the like. As noted above, manual user input may also
be utilized to determined that multiple users are present and
utilizing a common user device. Other presence-aware mechanisms may
also be used without departing from the scope of the present
invention.
[0006] Once the user device detects the presence of multiple users,
the user device may then invoke certain features for enhancing
conferencing service. An exemplary feature would be requesting and
pre-population of Virtual Card information from each party present
at the user device (i.e., the multiple users of the same user
device) to provide information useful to the bridge and/or useful
to share to remote end-points. As an alternative to requesting such
data, the user device may be enabled to identify a user by
analyzing information within the detected SIM card or by
recognizing the user from their facial features and based on this
automated recognition of the user may perform a database lookup to
retrieve salient information for the user. As yet another
alternative, fingerprint analysis, local or enterprise directly
lookup by using RFID data from an RFID card, and other forms of
user recognition can also be utilized.
[0007] Alternatively, the data may be pulled directly from the
user's mobile communication device or SIM card. This data can then
be rendered by the user device and displayed to the user along with
a prompt "is this your information" and/or "would you like to share
this information with the remote conference participants?" Based on
the user's input, the data for the multiple users may be shared
with other participants.
[0008] In some embodiments the salient data may be shared
automatically without first requesting permission from the user
(e.g., the user may have pre-provisioned rules indicating that data
sharing is allowable for certain situations such as
intra-enterprise communications or communications with certain
individuals or groups of users).
[0009] In some embodiments the data shared for one or both of the
users sharing a user device may include communication needs
information. For example, if one of the users is hearing impaired
or has some other special communication need, this data may be
provided to a terminal adapter or some other network device to
facilitate communications for both the hearing impaired user and
the non-hearing impaired user. Accordingly, the functionality of
the user device may be altered to accommodate multiple users
sharing a single user device.
[0010] Accordingly, multiple users and their communication needs
and/or preferences can be determined and shared with other
participants according to each user's preferences. This allows a
single user device to possibly share information for one user of
the user device with other participants while not sharing
information for another user of the user device if the users have
different information sharing preferences.
[0011] In accordance with at least some embodiments of the present
invention, a method is provided that generally comprises:
[0012] detecting two or more users sharing a user device; and
[0013] in response to detecting the two or more users sharing the
user device, altering a function of the user device such that the
user device utilizes a multi-user rule set defining the operation
of the function instead of a single-user rule set defining the
operation of the function thereby accommodating a simultaneous use
of the user device by the detected two or more users.
[0014] The phrases "at least one", "one or more", and "and/or" are
open-ended expressions that are both conjunctive and disjunctive in
operation. For example, each of the expressions "at least one of A,
B and C", "at least one of A, B, or C", "one or more of A, B, and
C", "one or more of A, B, or C" and "A, B, and/or C" means A alone,
B alone, C alone, A and B together, A and C together, B and C
together, or A, B and C together.
[0015] The term "a" or "an" entity refers to one or more of that
entity. As such, the terms "a" (or "an"), "one or more" and "at
least one" can be used interchangeably herein. It is also to be
noted that the terms "comprising", "including", and "having" can be
used interchangeably.
[0016] The term "automatic" and variations thereof, as used herein,
refers to any process or operation done without material human
input when the process or operation is performed. However, a
process or operation can be automatic, even though performance of
the process or operation uses material or immaterial human input,
if the input is received before performance of the process or
operation. Human input is deemed to be material if such input
influences how the process or operation will be performed. Human
input that consents to the performance of the process or operation
is not deemed to be "material".
[0017] The term "computer-readable medium" as used herein refers to
any tangible storage that participates in providing instructions to
a processor for execution. Such a medium may take many forms,
including but not limited to, non-volatile media, volatile media,
and transmission media. Non-volatile media includes, for example,
NVRAM, or magnetic or optical disks. Volatile media includes
dynamic memory, such as main memory. Common forms of
computer-readable media include, for example, a floppy disk, a
flexible disk, hard disk, magnetic tape, or any other magnetic
medium, magneto-optical medium, a CD-ROM, any other optical medium,
punch cards, paper tape, any other physical medium with patterns of
holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state
medium like a memory card, any other memory chip or cartridge, or
any other medium from which a computer can read. When the
computer-readable media is configured as a database, it is to be
understood that the database may be any type of database, such as
relational, hierarchical, object-oriented, and/or the like.
Accordingly, the invention is considered to include a tangible
storage medium and prior art-recognized equivalents and successor
media, in which the software implementations of the present
invention are stored.
[0018] The terms "determine", "calculate", and "compute," and
variations thereof, as used herein, are used interchangeably and
include any type of methodology, process, mathematical operation or
technique.
[0019] The term "module" as used herein refers to any known or
later developed hardware, software, firmware, artificial
intelligence, fuzzy logic, or combination of hardware and software
that is capable of performing the functionality associated with
that element. Also, while the invention is described in terms of
exemplary embodiments, it should be appreciated that individual
aspects of the invention can be separately claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The present disclosure is described in conjunction with the
appended figures:
[0021] FIG. 1 is a block diagram of a communication system in
accordance with embodiments of the present invention;
[0022] FIG. 2 is a block diagram depicting an exemplary data
structure utilized in accordance with embodiments of the present
invention; and
[0023] FIG. 3 is a flow diagram depicting an exemplary
communication method in accordance with embodiments of the present
invention.
DETAILED DESCRIPTION
[0024] The ensuing description provides embodiments only, and is
not intended to limit the scope, applicability, or configuration of
the claims. Rather, the ensuing description will provide those
skilled in the art with an enabling description for implementing
the embodiments. It being understood that various changes may be
made in the function and arrangement of elements without departing
from the spirit and scope of the appended claims.
[0025] A communication system 100 including a user device 104
capable of accommodating utilization by multiple users is shown in
FIG. 1. The depicted user device 104 includes a processor 108, a
memory 112, a user interface 148, and a network interface 168.
[0026] The user interface 148 may include a user input and/or user
output device. The user interface 148 enables a user or multiple
users to interact with the user device 104. Exemplary user input
devices which may be included in the user interface 148 comprise,
without limitation, a microphone, a button, a mouse, trackball,
rollerball, or any other known type of user input device. Exemplary
user output devices which may be included in the user interface 148
comprise, without limitation, a speaker, light, Light Emitting
Diode (LED), display screen, buzzer, or any other known type of
user output device. In some embodiments, the user interface 148
includes a combined user input and user output device such as a
touch-screen.
[0027] The processor 108 may include a microprocessor, Central
Processing Unit (CPU), a collection of processing units capable of
performing serial or parallel data processing functions, and the
like.
[0028] The memory 112 may include a number of applications or
executable instructions that are readable and executable by the
processor 108. For instance, the memory 112 may include
instructions in the form of one or more modules and/or
applications. The memory 112 may also include data and rules in the
form of one or more data structures 144 which can be used by one or
more of the modules and/or applications. Exemplary applications
include an operating system and various other applications. The
operating system is a high-level application which enables the
various other applications and modules to interface with the
hardware components (e.g., processor 108, network interface 168,
and user interface 148) of the user device 104. The operating
system also enables a user or users of the user device 104 to view
and access the applications and modules in memory 112 as well as
data structures 144 contained in memory 112.
[0029] Although the applications and modules are depicted as
software instructions residing in memory 112 and those instructions
are executable by the processor 108, one skilled in the art will
appreciate that the applications and modules may be implemented
partially or totally as hardware or firmware. For example, an
Application Specific Integrated Circuit (ASIC) may be utilized to
implement some or all of the functionality discussed herein.
[0030] Exemplary features offered by the applications include,
without limitation, communication features (e.g., voice
communication applications, text communication applications, video
communication applications, multimedia communication applications,
etc.), web-browsing features, word-processing features, and so on.
Specific modules which may be included in memory 112 include,
without limitation, a functionality management module 116, a
special communication needs module 120, a multi-user enhanced
feature module 124, a data distribution module 128, a user profile
and preference retrieval module 132, a user detection module 136,
and a user presence module 140.
[0031] The functionality management module 116 may provide the user
device 104 with the functionality for managing, manipulating,
and/or controlling functions of the user device 104. In particular,
the functionality management module 116 may be configured to
automatically adapt properties of the user device 104 when multiple
users are determined to be sharing the user device 104. As an
example, the functionality management module 116 may be configured
to dynamically invoke a terminal adapter when needed. As another
example, the functionality management module 116 may be configured
to change codecs, sampling rates, speaker volume, translation
functions, or some other functionality of the user device 104
[0032] The special communication needs module 120 may be provided
to accommodate special communication needs of a user if such a user
is detected as using the user device 104. For example, the special
communication needs module 120 may operate in conjunction with the
functionality management module 116 to further alter operations of
the user device 104 if one or more users with special needs are
detected as using the user device 104. Exemplary types of special
needs users that may be accommodated by the special communication
needs module 120 include, without limitation, sight-impaired users,
color-blind users, hearing-impaired users, speech-impaired users,
and combinations thereof. As a non-limiting example, the special
communication needs module 120 may operate in conjunction with the
functionality management module 116 to alter a feature of the user
device 104 to accommodate two users where one user requires a TTY
machine and the other does not. In particular, the special
communication needs module 120 may cause the functionality
management module 116 to connect the user device 104 with a
terminal adapter to implement TTY functionality for the
hearing-impaired user.
[0033] The multi-user enhanced feature module 124 may be provided
as the module which interfaces the user detection module 136 and
the functionality management module 116. In particular, the
multi-user enhanced feature module 124 may be configured to
automatically invoke the functionality management module 116 when
multiple users are detected as sharing the user device 104 or when
the population of users around the user device 104 changes. The
multi-user enhanced feature module 124 may also be configured to
determine the types of user device 104 function manipulations which
are allowable (e.g., based on user rules or operating rules
contained in the data structure 144) and enforce those rules as
needed.
[0034] The data distribution module 128 is a module which is
specially configured to control and manage the data distribution
for the users sharing the user device 104. The data distribution
module 128 may be configured to analyze the profiles, permissions,
and other forms of data structures 144 associated with various
users detected within proximity of the user device 104 and organize
such data for efficient dissemination to other communicants or
among the users sharing the user device 104. In some embodiments,
the data distribution module 128 may also be configured to
determine a context associated with multiple users sharing the user
device 104 and retrieve data based on the determined context as
well as condition the data for distribution in accordance with the
determined context.
[0035] The user profile and preference retrieval module 132 is
designed to retrieve the necessary profile and preference
information for the users sharing the user device 104. In some
embodiments, the user profile and preference retrieval module 132
is configured to determine the identity of each user sharing the
user device 104, determine a location where each user's profile and
preference information is maintained (e.g., in an enterprise
database, in a remote data-storage directory, within the user
device 104, from a SIM card being carried by the user, or on
another user device), and retrieve such information. The user
profile and preference retrieval module 132 may also be configured
to format the data which it retrieves into the data structures 144
such that it can be used by the other modules in memory 112.
[0036] The user detection module 136 provides the user device 104
with the ability to detect one or more users within proximity of
the user device 104 or actually sharing use of the user device 104.
Although the user detection module 136 is depicted solely as
residing in memory 112, one skilled in the art will appreciate that
dedicated hardware components can also be provided to execute the
user detection module 136. For example, if RFID detection methods
are employed to detect the presence of a user within proximity of
the user device 104, then known RFID hardware components (e.g.,
antennas, integrated circuits, Near Field Communications
(NFC)-enabling components, etc.) may also be provided in the user
device 104. As another example, the user detection module 136 may
also employ a camera if facial recognition is being utilized to
detect multiple users sharing the user device 104. The user
detection module 136 may also be configured to detect when a user's
personal mobile device has come within proximity of the user device
104 and retrieve data from a SIM card of the user's personal mobile
device. This type of detection may be accomplished via known
Bluetooth detection mechanisms.
[0037] However, the user detection module 136 as depicted may be
configured to receive input from some other user-detection device
and determine, based on that input, that multiple users are sharing
the user device 104. The user detection module 136 may also be
provided with the functionality to identify the users such that the
other modules in memory 112 can retrieve the necessary data for
those users.
[0038] The user presence module 140 is provided to detect presence
information for users. In some embodiments, the user presence
module 140 is configured to retrieve presence information for each
user that is detected by the user detection module 136. In
particular, the user presence module 140 may retrieve information
related to whether a particular user is signed in to another user
device, into a service (e.g., an IM service, a VoIP service, a P2P
service, or the like), or currently in need of additional
communication features. As an example, the user presence module 140
may detect that one of the users utilizing the user device 104 is
currently signed into an IM service on another user device. This
user's IM presence may be transferred to the shared user device 104
for as long as the user is utilizing the user device 104. This
affords users with a greater flexibility in moving between user
devices 104.
[0039] The memory 112 may also include a communication module,
instead of one or more communication-based applications, which
provides the communication functionality of the user device 104. In
particular, the communication module may contain the functionality
necessary to enable the user device 104 to communicate with other
user devices 104 across a communication network. As such, the
communication module may have the ability to access user
communication preferences maintained within a locally-stored
profile 144 (or remotely-stored profile), format communication
packets for transmission via the network interface 168, as well as
condition communication packets received at a network interface 168
for further processing by the processor 108.
[0040] In some embodiments, the data structure 144 is stored
directly on the user device 104. In some embodiments, the data
structure 144 may be stored by the enterprise and pushed to the
user device 104 on an as-needed basis. The remote storage of the
data structure 144 may occur on another user device or on a server.
In some embodiments, a portion of the data structure 144 is stored
locally on the user device 104 and another portion of the data
structure 144 is stored at an enterprise and provided on an
as-needed basis.
[0041] The network interface 168 comprises components for
connecting the user device 104 to a communication network. In some
embodiments, a single network interface 168 connects the user
device to multiple networks. In some embodiments, a single network
interface 168 connects the user device 104 to one network and an
alternative network interface is provided to connect the user
device 104 to another network.
[0042] The network interface 168 may comprise a communication
modem, a communication port, or any other type of device adapted to
condition packets for transmission across a communication network
to a destination user device 104 as well as condition received
packets for processing by the processor 108. Examples of network
interfaces include, without limitation, a network interface card, a
wireless transceiver, a modem, a wired telephony port, a serial or
parallel data port, a radio frequency broadcast transceiver, a USB
port, or other wired or wireless communication network
interfaces.
[0043] The type of network interface 168 utilized may vary
according to the type of network which the user device 104 is
connected, if at all. Exemplary communication networks to which the
user device 104 may connect via the network interface 168 include
any type and any number of communication mediums and devices which
are capable of supporting communication sessions, such as voice
calls, video calls, chats, emails, TTY calls, multimedia sessions,
or the like. In situations where the communication network is
composed of multiple networks, each of the multiple networks may be
provided and maintained by different network service providers.
Alternatively, two or more of the multiple networks in the
communication network may be provided and maintained by a common
network service provider or a common enterprise in the case of a
distributed enterprise network.
[0044] Exemplary types of communication networks include, without
limitation, a Local Area Network (LAN), multiple LANs, a Wide Area
Network (WAN), an enhanced IP-based network, a circuit-switched
network, a Session Initiation Protocol (SIP) network, the Internet,
the Public Switched Telephone Network (PSTN), a Plain Old Telephone
System (POTS) network, an Integrated Serviced Digital Network
(ISDN), a cellular communications network (e.g., 3G, 4G, etc.), an
IP Multimedia Subsystem (IMS) network, or the like. In addition, it
can be appreciated that the communication network need not be
limited to any one network type, and instead may be comprised of a
number of different networks and/or network types.
[0045] As can be appreciated by one skilled in the art, functions
offered by the modules depicted in FIG. 1 may be implemented in one
or more network devices (i.e., servers, networked user device,
non-networked user device, etc.). Additionally, although N users
are depicted as sharing the user device 104, one skilled in the art
will appreciate that advantages of the present invention can be
realized when only two users are sharing the user device 104.
Moreover, "sharing" of the user device 104 does not necessarily
mean that two users are physically in front of the user device 104.
Rather, one user may virtually share a user device 104 by
connecting to the user device 104 via the network interface 168.
The user detection module 136 may be configured to detect
situations where a user is virtually sharing the user device 104
and may still cause the functionality management module 116 to
alter some function of the user device 104 to accommodate the
virtual sharing of the user device 104.
[0046] An embodiment of the data structure 144 is shown in FIG. 2.
The data structure 144 can be stored in several different forms of
databases, such as relational databases, flat files,
object-oriented databases, etc. Thus, while the term "data field"
or "segment" is used, the data may be stored in an object, an
attribute of an object, or some other form of data structure.
Further, the data structure 144 can be stored, retrieved, sent, or
received during the processing communication session information by
one or more of the modules discussed herein. The data structure 144
stores one or more items of information in one or more data fields.
The numeric identifiers (e.g. 212, 216, etc.) shown in FIG. 2 can
identify, in one or more fields or segments, either the data field
or segment or the data stored in the data field or segment.
[0047] The data structure 144 may be separated into two or more
portions, although such a separation is not required. For example,
the data structure 144 may comprise a portion dedicated to each
user detected as sharing the user device 104. As a simple case,
this may include providing a first portion 204 for a first user and
a second portion 208 for a second user, where the first and second
users are detected as sharing the user device 104. More portions
may be created if more than two users are detected as sharing the
user device 104. Each portion can include one or more input
segments, such as, input segment 1 212 and input segment 2 216, a
rules segment 220, and a user communication preferences segment
224. Input segments each include one or more fields comprising the
one or more inputs that may be required to determine user identity,
user profile, etc. The input segments may include a user identity,
a user's roaming profile, a user's communication history, a list of
contacts, etc.
[0048] While there are only two input segments shown per-portion in
FIG. 2, there may be more or fewer input segments associated with
the data structure 144, as indicated by the ellipses.
[0049] The rules segment 220 can include one or more heuristic
rules that either help with identifying when to enable a particular
module or service or controlling a module or service once invoked.
For example, the rule 220 can state that the data structure 144 or
a user's portion thereof applies to a communication session only if
the communication session includes input segment 1 212 but not
input segment 2 216. One skilled in the art will be able to
identify other types of rules that may govern the association of
the data structure 144 with various types of data inputs created
within the system 100 (e.g., location data inputs, presence data
inputs, communication activity data inputs, device operation data
inputs, etc.). Accordingly, multiple data structures 144, such as
those depicted in FIG. 2, may be contained within memory 112. In
some embodiments, each user may have their own dedicated data
structure 144 rather than sharing a single data structure 144 among
multiple users.
[0050] Generally, a user communication preferences segment 224
includes a list of user communication preferences for the user. In
some embodiments, the user communication preferences segment 224
defines a user's outbound call-processing preferences, a user's
inbound call-processing preferences, a user's multimedia
communication preferences, a users general communication
preferences, and the like that a user typically utilizes when they
aren't sharing a user device 104 or when they are working on their
main user device 104. The user communication preferences segment
224 may also contain data related to a user's communication
preferences when they are sharing a user device 104. In some
embodiments, the user communication preferences segment 224 may
also define the manner in which data and certain types of
communications are shared with other users. For example, a user may
prefer to automatically distribute their virtual business card to
other users when they are engaged in a communication session with
such users. Such a distribution may occur over the communication
channel being utilized to facilitate the communication session or
the distribution may occur over a separate communication channel
(e.g., an email may be used to share virtual business cards between
participants of a voice call). As another example, a user may
prefer to maintain their identity and data privately unless a
specific command is given to share such data. As another example, a
user may prefer to ask for virtual business cards from other
communication session participants and only wants their information
shared if they receive similar information from the other
participants.
[0051] The user communication preferences segment 224 may also
contain data related to a user's communication needs. For example,
if a user is hearing-impaired, then such information may be
contained in the user communication preferences segment 224 along
with preferences for accommodating their condition. As another
example, if a user speaks multiple languages, but has a preferred
language, then that information may also be contained in the user
communication preferences segment 224 to accommodate multi-lingual
users sharing a user device 104. Any and all such user
communication preferences may be provided as rules within the user
interface preferences segment 224.
[0052] The data structure 144 may further contain an arbitration
segment 228 which provides rules for arbitrating between
inconsistencies in each user's user communication preferences
segment 224. In some circumstances, it may be impossible for a user
device 104 to accommodate two user's communication preferences
simultaneously. This is where the arbitration segment 228 is
referenced by the functionality management module 116 to determine
exactly how the user device 104 should be controlled. In some
embodiments, the arbitration segment 228 may provide rules which
define that a particular user's communications preferences should
be given priority over another user's communication preferences. In
some embodiments, the arbitration segment 228 may provide rules
which define that a lowest common preference or default preference
should be user in the event of inconsistent preferences. The
arbitration rules contained within the arbitration segment 228 may
be as simple or as complex as desired to accommodate an efficient
sharing of the user device 104 by multiple users.
[0053] With reference now to FIG. 3, an exemplary method of
controlling a user interface 148 will be described in accordance
with at least some embodiments of the present invention. The method
begins at step 304 and continues when the user detection module 136
detects that two or more users are sharing the user device 104
(step 308). The user detection module 136 may also determine the
identities of the users, if possible, within this step. The
detection step may include detecting that two or more users are
within proximity of the user device 104 (i.e., a predefined
distance away from the user device) via RFID, SIM card, or facial
recognition mechanisms. Alternatively, or in addition, the
detection step may include detect that one or more users are
attempting to virtually share resources of the user device 104 with
another user who is also using physical resources of the user
device 104. One or more of the sharing users do not necessarily
have to be within physical proximity of the user device 104.
[0054] Based on the detection of multiple users, and possibly based
on the identities of the users as well, the method continues with
the multi-user enhanced feature module 124 determining if any
enhanced or advanced features are to be offered to the users while
the user device 104 is being shared (step 312). This step may
involve querying the users via the user interface 148 as to whether
or not a shared functionality is desired. In some embodiments, the
determination of step 312 is performed automatically rather than
asking for a user response before invoking the enhanced features of
the present disclosure.
[0055] Thereafter, the user profile and preference retrieval module
132 and user presence module 140 are invoked such that each
detected and identified user's profile, presence, and/or preference
information is retrieved (step 316). Again, this step may be
performed automatically if the modules 132, 140 know where such
data can be obtained, have already been provided such data, or the
like. However, this step may also be implemented with manual
assistance by asking each user for their profile, presence, and/or
preference information or by asking each user for where such data
can be obtained.
[0056] All of the data obtained for each user is then utilized to
construct the data structure(s) 144 that can be used by the other
modules contained within memory 112. In particular, one or more of
the functionality management module 116, special communication
needs module 120, multi-user enhanced feature module 124, and data
distribution module 128 may be invoked to provide enhanced features
according to the combinations of the users' profile, presence,
and/or preferences (step 320). One such feature involves obtaining
and sharing user data for one user sharing the user device 104 with
other users who are also sharing the user device 104 or involved in
a communication session with the sharing users (step 324). In some
embodiments, the functions of the user device 104 may also be
automatically altered based on the fact that two or more users are
sharing the user device 104. In some embodiments, the functions
that are altered may include translation functions, data
distribution functions, data retrieval functions, communication
functions (e.g., utilization of a terminal adapter, utilization of
a text-to-speech or speech-to-text adjunct, etc.), and the like.
The manipulation of user device 104 functionality to accommodate a
sharing of the user device 104 may continue for as long as the user
device 104 is being shared. Certain environmental inputs, user
inputs, and other actions (e.g., incoming calls, outbound calls,
receiving text messages for one user but not the other, etc.) may
cause the functionality management module 116 and the other modules
in memory 112 to continually and dynamically update the operation
of the user device 104. For example, an outbound call placed via
the user device 104 while the user device 104 is being shared may
result in each user's virtual business card being shared with the
called party.
[0057] The user detection module 136 continues to monitor the user
device 104 to determine if there has been a change in the user
population that is sharing the user device 104 (step 328). If such
a change is not detected, then the user detection module 136 will
again check the utilization of the user device 104 to determine if
new users have arrived or previous users have left (step 332). Once
such a change is detected, the method returns back to step 316. If
the determination of step 328 results in the user detection module
136 determining that only one user is using the user device 104,
then the communications preferences for that single user will
define how the user device 104 is operated. Otherwise, the user
device 104 will be operated to accommodate a sharing of the user
device 104.
[0058] Moreover, the monitoring and detecting step 328 and 332 may
still be performed after the user device 104 is no longer being
shared. This continuous monitoring allows the user detection module
136 to quickly identify when the user device 104 is being shared
and react accordingly, thereby reducing the amount of delay between
the time when users begin sharing the user device 104 and when the
functionality of the user device 104 is altered for the multiple
users.
[0059] In some embodiments, outputs of a shared device may be
handled differently to allow far-end users (i.e., users not sharing
a communication device but engaging in a communication session with
some users who are sharing a communication device) to have the
conference session altered. In particular, if a first and second
user are sharing a first communication device and are engaging in a
conference with a third user using a second communication device,
then inputs from the first and second users may be treated
differently than typical conference inputs. As one example, inputs
from the first user may be provided to the third user by a first
speaker of the second communication device whereas inputs from the
second user may be provided to the third user by a second speaker
of the second communication device. This type of
user-differentiation allows the third user to appreciate that the
first and second users are sharing a communication device and
further allows the third user some control over inputs from the
first and second users even though they are sharing a single
communication device (e.g., by turning down speaker volume of the
first speaker and not turning down speaker volume of the second
speaker to possibly account for a softer speaking second user or
louder speaking first user).
[0060] In the foregoing description, for the purposes of
illustration, methods were described in a particular order. It
should be appreciated that in alternate embodiments, the methods
may be performed in a different order than that described. It
should also be appreciated that the methods described above may be
performed by hardware components or may be embodied in sequences of
machine-executable instructions, which may be used to cause a
machine, such as a general-purpose or special-purpose processor or
logic circuits programmed with the instructions to perform the
methods. These machine-executable instructions may be stored on one
or more machine readable mediums, such as CD-ROMs or other type of
optical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs,
magnetic or optical cards, flash memory, or other types of
machine-readable mediums suitable for storing electronic
instructions. Alternatively, the methods may be performed by a
combination of hardware and software.
[0061] Specific details were given in the description to provide a
thorough understanding of the embodiments. However, it will be
understood by one of ordinary skill in the art that the embodiments
may be practiced without these specific details. For example,
circuits may be shown in block diagrams in order not to obscure the
embodiments in unnecessary detail. In other instances, well-known
circuits, processes, algorithms, structures, and techniques may be
shown without unnecessary detail in order to avoid obscuring the
embodiments.
[0062] Also, it is noted that the embodiments were described as a
process which is depicted as a flowchart, a flow diagram, a data
flow diagram, a structure diagram, or a block diagram. Although a
flowchart may describe the operations as a sequential process, many
of the operations can be performed in parallel or concurrently. In
addition, the order of the operations may be re-arranged. A process
is terminated when its operations are completed, but could have
additional steps not included in the figure. A process may
correspond to a method, a function, a procedure, a subroutine, a
subprogram, etc. When a process corresponds to a function, its
termination corresponds to a return of the function to the calling
function or the main function.
[0063] Furthermore, embodiments may be implemented by hardware,
software, firmware, middleware, microcode, hardware description
languages, or any combination thereof. When implemented in
software, firmware, middleware or microcode, the program code or
code segments to perform the necessary tasks may be stored in a
machine readable medium such as storage medium. A processor(s) may
perform the necessary tasks. A code segment may represent a
procedure, a function, a subprogram, a program, a routine, a
subroutine, a module, a software package, a class, or any
combination of instructions, data structures, or program
statements. A code segment may be coupled to another code segment
or a hardware circuit by passing and/or receiving information,
data, arguments, parameters, or memory contents. Information,
arguments, parameters, data, etc. may be passed, forwarded, or
transmitted via any suitable means including memory sharing,
message passing, token passing, network transmission, etc.
[0064] While illustrative embodiments of the invention have been
described in detail herein, it is to be understood that the
inventive concepts may be otherwise variously embodied and
employed, and that the appended claims are intended to be construed
to include such variations, except as limited by the prior art.
* * * * *