U.S. patent application number 10/457010 was filed with the patent office on 2004-01-08 for multidimensional approach to context-awareness.
Invention is credited to Goslar, Kevin, Vogler, Hartmut K..
Application Number | 20040006593 10/457010 |
Document ID | / |
Family ID | 29740836 |
Filed Date | 2004-01-08 |
United States Patent
Application |
20040006593 |
Kind Code |
A1 |
Vogler, Hartmut K. ; et
al. |
January 8, 2004 |
Multidimensional approach to context-awareness
Abstract
A context aware enterprise system includes a network, an
enterprise service coupled to the network, and a plurality of
information sources that include enterprise information related to
one or more activities of the enterprise system. The enterprise
system also includes a plurality of clients with user interfaces by
which a user may access the enterprise service over the network. A
context determination service determines context information
describing a multi-dimensional context based on the enterprise
information. The context information determined by the context
determination service includes a user identification, an
identification of a client selected by the user, a user role, a
user expertise related to the enterprise service, and a user
expertise related to the selected client. Based on the context
information, an interface adaptation service adapts the user
interface of the client.
Inventors: |
Vogler, Hartmut K.; (Foster
City, CA) ; Goslar, Kevin; (Dresden, DE) |
Correspondence
Address: |
FISH & RICHARDSON, P.C.
3300 DAIN RAUSCHER PLAZA
60 SOUTH SIXTH STREET
MINNEAPOLIS
MN
55402
US
|
Family ID: |
29740836 |
Appl. No.: |
10/457010 |
Filed: |
June 9, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60388289 |
Jun 14, 2002 |
|
|
|
60422112 |
Oct 30, 2002 |
|
|
|
Current U.S.
Class: |
709/203 |
Current CPC
Class: |
G06Q 10/10 20130101;
G06F 9/451 20180201 |
Class at
Publication: |
709/203 |
International
Class: |
G06F 015/16 |
Claims
What is claimed is:
1. An enterprise system with multi-dimensional context awareness,
the system comprising: a network; an enterprise service coupled to
the network; a plurality of clients configured to communicate with
the network to access the enterprise service, wherein each client
includes a user interface by which a user may interact with the
enterprise service; a plurality of information sources that include
enterprise information related to one or more activities of the
enterprise system; a context determination service configured to
determine context information describing a multi-dimensional
context based on the enterprise information, wherein the context
information comprises a user identification, an identification of
the client selected by the user, a user role, a user expertise
related to the enterprise service, and a user expertise related to
the selected client; and an interface adaptation service operable
to adapt the user interface of the selected client based on the
context information.
2. The system of claim 1 wherein the plurality of clients comprise
one or more wireless handheld devices.
3. The system of claim 1, wherein adapting the user interface of
the selected client based on the context information comprises
selecting a sensory communication path for the interaction of the
user with the enterprise service that is suited to a context
described by the context information.
4. The system of claim 3 wherein the sensory communication path
selected comprises a voice communication path.
5. The system of claim 3 wherein the sensory communication path
selected comprises a text communication path.
6. The system of claim 3 wherein the sensory communication path
selected comprises a graphical communication path.
7. The system of claim 1, wherein adapting the user interface of
the selected client based on the context information comprises
adapting the user interface to adjust a level of help automatically
provided to the user regarding operation of the selected client
based on the context information describing the user expertise
related to the selected client.
8. The system of claim 1, wherein adapting the user interface of
the selected client based on the context information comprises
adapting the user interface to adjust a level of help automatically
provided to the user regarding operation of the enterprise service
based on the context information describing the user expertise
related to the enterprise service.
9. The system of claim 1, wherein adapting the user interface of
the selected client based on the context information comprises
adapting the user interface to present only information to the user
relevant to the user role described by the context information.
10. The system of claim 1, wherein adapting the user interface of
the selected client based on the context information comprises
adapting the user interface to present only information to the user
relevant to the user identification described by the context
information.
11. The system of claim 1 wherein the context determination service
comprises a rule engine.
12. The system of claim 1 wherein the context determination service
comprises an inference engine.
13. The system of claim 12 wherein the inference engine comprises a
Bayesian reasoning engine.
14. The system of claim 1 wherein the interface adaptation service
comprises a rule engine.
15. The system of claim 1 wherein the interface adaptation service
comprises an inference engine.
16. The system of claim 15 wherein the inference engine comprises a
Bayesian reasoning engine.
17. The system of claim 1 wherein the context information further
comprises a measure of time.
18. The system of claim 1 wherein the context information further
includes information regarding a physical environment of the
user.
19. The system of claim 18 wherein the physical environment
information includes information related to a location of the user,
an activity of the user, a measure of background noise, and a
measure of lightness or darkness.
20. The system of claim 1 wherein the plurality of information
sources includes one or more databases.
21. The system of claim 1 wherein the plurality of information
sources includes a security device.
22. The system of claim 1 wherein the plurality of information
sources includes a global positioning system.
23. The system of claim 1 wherein the plurality of information
sources does not include an information source configured only to
provide context information.
24. The system of claim 23 wherein the plurality of information
sources does not include a GPS configured to provide a location of
a client device.
25. A method of adapting a user interface of a client in an
enterprise system based on multi-dimensional context information,
the method comprising: receiving a request of a user to login to an
enterprise service of the enterprise system using a client;
determining first information based on the request to login to the
enterprise service using the client; determining second information
from a plurality of information sources of the enterprise system
based on the first information; determining context information
describing a multi-dimensional context based on the first
information and the second information, wherein the context
information comprises a user identification, a client
identification, a user role, a user expertise related to the
enterprise service, and a user expertise related to the client; and
adapting the user interface of the client based on the context
information.
26. The method of claim 25, wherein adapting the user interface of
the client based on the context information comprises selecting a
sensory communication path for the interaction of the user with the
enterprise service that is suited to a context described by the
context information.
27. The method of claim 26 wherein the sensory communication path
selected comprises a voice communication path.
28. The method of claim 26 wherein the sensory communication path
selected comprises a text communication path.
29. The method of claim 26 wherein the sensory communication path
selected comprises a graphical communication path.
30. The method of claim 25, wherein adapting the user interface of
the client based on the context information comprises adapting the
user interface to adjust a level of help automatically provided to
the user regarding operation of the client based on the context
information describing the user expertise related to the
client.
31. The method of claim 25, wherein adapting the user interface of
the client based on the context information comprises adapting the
user interface to adjust a level of help automatically provided to
the user regarding operation of the enterprise service based on the
context information describing the user expertise related to the
enterprise service.
32. The method of claim 25, wherein adapting the user interface of
the client based on the context information comprises adapting the
user interface to present only information to the user relevant to
the user role described by the context information.
33. A computer program for adapting a user interface of a client in
an enterprise system based on multi-dimensional context
information, the computer program comprising: a login code segment
to cause a computer to receive a request of a user to login to an
enterprise service of the enterprise system using a client; a first
information determination code segment to cause the computer to
determine first information based on the request to login to the
enterprise service using the client; a second information
determination code segment to cause the computer to determine
second information from a plurality of information sources of the
enterprise system based on the first information; a context
information determination code segment to cause the computer to
determine context information describing a multi-dimensional
context based on the first information and the second information,
wherein the context information comprises a user identification, a
client identification, a user role, a user expertise related to the
enterprise service, and a user expertise related to the client; and
an adaptation code segment to cause the computer to adapt the user
interface of the client based on the context information.
34. The computer program of claim 33, wherein adapting the user
interface of the client based on the context information comprises
selecting a sensory communication path for the interaction of the
user with the enterprise service that is suited to a context
described by the context information.
35. The computer program of claim 34 wherein the sensory
communication path selected comprises a voice communication
path.
36. The computer program of claim 34 wherein the sensory
communication path selected comprises a text communication
path.
37. The computer program of claim 34 wherein the sensory
communication path selected comprises a graphical communication
path.
38. The computer program of claim 33, wherein adapting the user
interface of the client based on the context information comprises
adapting the user interface to adjust a level of help automatically
provided to the user regarding operation of the client based on the
context information describing the user expertise related to the
client.
39. The computer program of claim 33, wherein adapting the user
interface of the client based on the context information comprises
adapting the user interface to adjust a level of help automatically
provided to the user regarding operation of the enterprise service
based on the context information describing the user expertise
related to the enterprise service.
40. The computer program of claim 33, wherein adapting the user
interface of the client based on the context information comprises
adapting the user interface to present only information to the user
relevant to the user role described by the context information.
41. A method of adapting a user interface of a client in an
enterprise system based on multi-dimensional context information,
the method comprising: receiving a request of a user to login to an
enterprise service of the enterprise system using a client;
determining first information based on the request to login to the
enterprise service using the client; determining second information
from a plurality of information sources of the enterprise system
based on the first information; determining context information
describing a multi-dimensional context based on the first
information and the second information; and adapting the user
interface of the client based on the context information.
42. The method of claim 41, wherein adapting the user interface of
the client based on the multi-dimensional context information
comprises selecting a sensory communication path for the
interaction of the user with the enterprise service that is suited
to a context described by the multi-dimensional context
information.
43. The method of claim 42 wherein the sensory communication path
selected comprises a voice communication path.
44. The method of claim 42 wherein the sensory communication path
selected comprises a text communication path.
45. The method of claim 42 wherein the sensory communication path
selected comprises a graphical communication path.
46. The method of claim 41, wherein adapting the user interface of
the client based on the multi-dimensional context information
comprises adapting the user interface to adjust a level of help
automatically provided to the user based on the multi-dimensional
context information.
47. The method of claim 41, wherein adapting the user interface of
the client based on the multi-dimensional context information
comprises adapting the user interface to present only information
to the user relevant to a context described by the
multi-dimensional context information.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional
Application Nos. 60/388,289, filed Jun. 14, 2002, and 60/422,112,
filed Oct. 30, 2002, each titled MULTIDIMENSIONAL APPROACH TO
CONTEXT-AWARENESS.
TECHNICAL FIELD
[0002] This invention relates to the use of context information by
computing applications.
BACKGROUND
[0003] An enterprise resource planning (ERP) system includes
various business-related enterprise services. The ERP system
provides an organization-wide information handling infrastructure
to control the business processes of a company. The ERP system and
the enterprise services that it includes may be extremely complex
and the company may depend on their correct operation.
[0004] Many employees of the company may use the enterprise
services of the ERP system through a variety of client devices. For
example, an accountant may access the ERP system on a desktop
computer to update financial records of the company. The chief
executive officer (CEO), on the other hand, may use a laptop
computer to obtain a strategic overview of company performance from
the ERP system. In turn, a delivery driver may access the ERP
system using a personal digital assistant (PDA) to determine a
delivery schedule. Each also might use the ERP system to inquire
about the status of their employee benefits from home, for example,
using a phone. In sum many employees may access the ERP system, and
each may do so in a variety of contexts.
[0005] Employees of the company may have difficulty using the ERP
system because of the system's complexity and the many contexts in
which it may be used. Even when employees develop expertise in the
ERP system, they may find that the system is ill-adapted to the
particular context of their use.
SUMMARY
[0006] In one general aspect, an enterprise system with
multi-dimensional context awareness includes a network, an
enterprise service coupled to the network, and a plurality of
information sources that include enterprise information related to
one or more activities of the enterprise system. The enterprise
system also includes a plurality of differing clients with user
interfaces by which a user may access the enterprise service over
the network. The clients may or may not be wireless. A context
determination service determines context information describing a
multi-dimensional context based on the enterprise information. The
context information determined by the context determination service
includes a user identification, an identification of the client
selected by the user, a user role, a user expertise related to the
enterprise service, and a user expertise related to the client
selected by the user. Based on the context information, an
interface adaptation service adapts the user interface of the
selected client.
[0007] Implementations may include one or more of the following
features. For example, adapting the user interface of the selected
client may include selecting a sensory communication path for the
interaction of the user with the enterprise service that is suited
to a context described by the context information. The sensory
communication path selected may include, for example, a voice
communication path, a text communication path, or a graphical
communication path.
[0008] The interface also may be adapted to adjust a level of help
automatically provided to the user regarding operation of the
selected client or the enterprise service. The level of help may be
adjusted based on the context information describing the user
expertise related to the selected client or the enterprise service,
respectively. Adaptation also may include adapting the user
interface to present only information to the user relevant to the
role or identification of the user described by the context
information.
[0009] To determine context information, the context determination
service may include a rule engine or an inference engine.
[0010] The sources of the enterprise information accessed by the
context determination service include databases, enterprise
security devices, and location determining devices. Nevertheless,
in a further implementation, the information sources include no
information source configured only to provide context
information.
[0011] The context information that the context determination
service determines may further include a measure of time, or
information regarding a physical environment of the user. The
physical environment information may include information related to
a location of the user, an activity of the user, a measure of
background noise, or a measure of lightness or darkness.
[0012] To adapt the user interface based on the context
information, the interface adaptation service also may include a
rule engine, and/or an inference engine.
[0013] The inference engines of the context determination service
and the interface adaptation service may employ, for example,
Bayesian reasoning, the Dempster-Shafer theory, a knowledge base,
an expert system, plan recognition, collaborative filtering,
statistical analysis, a neural network, data mining, keyword
analysis, fuzzy logic, an overlay model, a bug library, or a
combination of one or more of these methods or systems.
[0014] These general and specific aspects may be implemented using
a method, a system, or a computer program, or any combination of
systems, methods, and computer programs.
[0015] Other features will be apparent from the following
description, including the drawings, and from the claims.
DESCRIPTION OF DRAWINGS
[0016] FIG. 1 is a is a schematic diagram of an enterprise system
that configures a client interface using a context adaptation
service.
[0017] FIG. 2 is a schematic diagram of an enterprise system, as in
FIG. 1, that illustrates several multi-dimensional contexts.
[0018] FIGS. 3-4 are schematic diagrams illustrating systems that
may be used to implement the context adaptation service of FIGS. 1
and 2.
[0019] FIG. 5 is a flow diagram illustrating a systematic process
implementable by the context adaptation service of FIGS. 1-2.
[0020] FIG. 6A describes an exemplary multi-dimensional context
related to an enterprise system.
[0021] FIG. 6B illustrates an interface adaptation corresponding to
the multi-dimensional context information of FIG. 6A.
[0022] FIGS. 7A-C are exemplary displays illustrating a user
interaction with a user interface adapted by the context adaptation
service.
[0023] Like reference symbols in the various drawings indicate like
elements.
DETAILED DESCRIPTION
[0024] Referring to FIG. 1, a generalized enterprise system 100 may
be used to configure a user interface of a client to facilitate a
user's access to an enterprise service based upon a
multi-dimensional context (i.e., a context described by more than
one parameter) of the user's use. The multi-dimensional context
includes, for example, an identification of the user and of the
client, a role of the user, expertise of the user relative to the
enterprise service and relative to the client. Exemplary components
of the enterprise system 100 are described in greater detail
below.
[0025] The enterprise system 100 of FIG. 1 generally includes one
or more clients 110, a network 130, an enterprise service 150, and
a context adaptation service 170. The clients 110 generally may
include any device, system, and/or piece of code that relies on
another service to perform an operation. For example, the clients
110 may include a workstation, a notebook computer, a pen based
computer, a personal digital assistant (PDA) or cellular telephone.
The clients 110 also may include a web browser, an email client, a
synchronization client (e.g., a calendar synchronization client, a
task list synchronization client), an instant messaging (IM)
client, a business productivity application (e.g., a word
processor, a spreadsheet), and/or an operating system or operating
system kernel. The clients 110 may access data or services provided
by the enterprise service 150 by communicating with the enterprise
service 150 using voice and/or non-voice data.
[0026] The enterprise service 150 generally may include, for
example, any device, system, and/or piece of code configured to
perform an operation requested by a client 110 (e.g., a cellular
telephone, a web browser, or other service). For example, the
enterprise service 150 may include an ERP service, an email
service, an accounting service, a resource management service, a
synchronization service (e.g., a calendar synchronization service,
a task list synchronization service), a print service, a file
access service, an IM service, an operating system, an operating
system kernel, an authentication service, an authorization service,
and/or any combination of these or other services.
[0027] The context adaptation service 170 generally may include,
for example, any device, system, and/or piece of code configured to
determine a users multi-dimensional context and adapt an
interaction of the enterprise system with the user based on that
context. For example, the context adaptation service 170 may
include a context determination service 175, and an interface
adaptation service 180. The services 175, 180 and the context
adaptation service 170 may include a database access service, a
sensor data access service, a rule engine, an inference engine
(e.g., a Bayesian reasoning engine, a Dempster-Shafer engine, a
probabilistic reasoning engine), a file access service, an
operating system, an operating system kernel, and/or any
combination of these services. The context adaptation service 170
may or may not be included in the enterprise service 150.
[0028] Communication between the clients 110 and the enterprise
service 150 as well as other communications within the enterprise
system services generally occur over a communications network 130.
The communication network 130 typically allows direct or indirect
communication between the system services (e.g., between the client
110, the enterprise service 150, and the context adaptation service
170), irrespective of physical or logical separation. The
communication network 130 may include a secured communication
network (e.g., a communication network protected by a firewall
and/or other security mechanisms).
[0029] The communication network 130 may further include various
mechanisms for delivering voice and/or non-voice data, such as, for
example, the transport connection protocol (TCP), the Internet
protocol (IP), the World Wide Web, one or more local area networks
(LANs) and/or one or more wide area networks (WANs). The
communication network 130 also may include analog or digital wired
and wireless telephone networks, e.g., public switched telephone
networks (PSTN), integrated services digital networks (ISDN),
various types of digital subscriber lines (xDSL), advance mobile
telephone service (AMPS), global system for mobile communications
(GSM), general packet radio service (GPRS), code division multiple
access (CDMA), radio, cable, satellite, and/or other delivery
mechanisms for carrying voice or non-voice data.
[0030] One or more other services may be included in the components
of enterprise system 100 and/or these components (hereinafter the
system services) may be included as part of one or more other
services. For example, the system services may include or be
included in a general-purpose or a special-purpose computer (e.g.,
a personal computer, a personal digital assistant (PDAs), or a
device specifically programmed to perform certain tasks), at least
one Local Area Network (LAN), and/or at least one Wide Area Network
(WAN). Either way, the response to and execution of instructions
received by any or all of the system services may be controlled by,
for example, a program, a piece of code, an instruction, a device,
a computer system, or a combination thereof, for independently or
collectively instructing the services to interact and operate as
described herein.
[0031] FIG. 2 shows an enterprise system 200, generally similar to
enterprise system 100 of FIG. 1, illustrating several
multi-dimensional contexts 205, 210, 215 in which a company
employee may access the enterprise service 150 using a client 110.
For example, company employees may include a delivery truck driver
(context 205), a corporate executive (context 210), and a
manufacturing manager (context 215). The responsibilities of each
employee differ greatly as well as the information and services
that their jobs require the enterprise service 150 to provide them.
As with their responsibilities, the training and experience of the
employees may differ dramatically. Moreover, the physical
environments under which each employee accesses the enterprise
service may differ greatly, both from access to access and from
employee to employee.
[0032] More specifically, the delivery driver uses a mobile client
(e.g., a pen computer, a PDA, a cellular telephone) to access, for
example, delivery lists, addresses, and schedules maintained by the
enterprise service 150. The delivery driver may use the mobile
client to access the enterprise service 150, for example, from the
delivery truck, or at a pick-up or delivery site. Moreover, the
delivery driver may wish to verify delivery information while
driving the delivery truck. Depending on time, season, and delivery
point, ambient conditions such as lighting, temperature, and noise
may vary greatly and may further complicate the task of accessing
the enterprise service 150 using the client.
[0033] The corporate executive may access the enterprise service
150, for example, to obtain data showing corporate performance, or
reflecting strategic relationships with other companies. The
corporate executive may use a laptop computer or other client 110
to access the enterprise service 150 from an office in a corporate
headquarters, from a corporate boardroom during a meeting, or while
traveling (e.g., in an airplane or at a hotel). The privacy and
security with which the corporate executive may access the
enterprise service 150 may substantially influence the corporate
executive's ability to use the enterprise service 150 in certain
situations (e.g., while at an on-site meeting with a customer or
competitor, or while traveling on a plane).
[0034] The manufacturing manager may access the enterprise service
150 to determine order status, manufacturing schedules, or work
schedules. The manufacturing manager may use a workstation or other
client device to access the enterprise service 150 from the
manufacturing floor. Conditions on the manufacturing floor may be
loud or may require silence, lighting conditions may vary, and
there may be many spurious audible and visual distractions. Certain
clothing or protective gear may be required (e.g., a cleansuit, a
respirator, ear protection, eye protection), and may or may not
interfere with using the client 110 to access the enterprise
service 150.
[0035] FIGS. 3 and 4 describe systems that may be used to implement
the context determination service 175 and the interface adaptation
service 180, respectively, of FIGS. 1 and 2.
[0036] Referring to FIG. 3, some implementations of the context
determination service 175 include a decision engine 310 used to
determine context information 330 from enterprise information 350.
In this implementation, the enterprise information 350 includes a
user identification and a client device identification 352.
[0037] The enterprise information also may include an activity
history 354 of the enterprise service users. The activity history
354 may include, for example, an application use history 356 that
shows details of user's past use of the enterprise service. For
each enterprise user, the application use history 356 might show,
for example, a frequency of access to the enterprise service, a
frequency of access to help procedures of the enterprise services
and a nature or timing of the help requested, and/or a frequency of
functions performed using the enterprise service. The user activity
history 354 also may include a client use history 358 showing, for
each enterprise user, clients used to access the enterprise service
and a frequency that those clients have been used. In addition, the
user activity history 354 may include security and authentication
data 360 related to the current and past security status and
privileges of enterprise service users. The security and
authentication data 360 also may include information regarding when
and where secure resources were accessed. For example, the security
and authentication data 360 may record that a user entered a
building through a secured door at 7:30 am on a Monday morning.
[0038] The enterprise information 350 also may include information
362 that indicates current and past characteristics and features of
the enterprise service and clients. The application and client
feature data 362 may include, for example, information that a new
capability has been added to a newly released version of the
enterprise service, or that a PDA client may be voice enabled while
a pen based computer client may not.
[0039] Also included in the enterprise information 350 are general
employee data 364 and customer date 366. For each employee, the
employee data 364 may include information such as the role, job
title, job description, or job location of the employee. This
information may describe the workplace, permissions, restrictions
and tasks associated with each employee. Information regarding home
contact information, education, physical characteristics, health
record, or employee benefits also may be included. For each
customer, the customer data 366 may include information identifying
services or goods generally provided to the customer, delivery or
payment preferences, customer contacts, and associated customer
locations (e.g., addresses, approximate latitude and
longitude).
[0040] The enterprise information also may include data 368 from
specialized context sensors. For example, the context sensors might
include a global positioning system (GPS) which might detect a
client device and provide location data (e.g., latitude and
longitude) related to the client device. Location data also may be
obtained using a beacon emitting signals, such as, radio frequency
signals or infrared signals. These signals may be received, for
example, by a client. The beacon may broadcast location identifying
information, such as, a geographical identifier (e.g., latitude and
longitude of the beacon) or an abstract representation of a
location (e.g., the street address of the beacon, the name of a
store, a numerical identifier). The context sensor data 368 also
might include data provided by other context sensors related to
temperature, loudness, lighting, a pulse or respiration rate of the
user, or a skin conductivity of the user.
[0041] The enterprise information also may include for each user a
user profile 370. The user profile 370 may include previously
determined context information, such as, for example, context
information based on the users' most recent accesses to the
enterprise service. The user profile may include information
stored, for example, in a data repository based on the X.500
directory access standard (e.g., a lightweight directory access
protocol (LDAP)). Among other benefits, LDAP allows different kinds
of context information to be stored, such as, for example, client
and service profiles.
[0042] The decision engine 310 includes, for example, a rule engine
315, and/or an inference engine 320. The rule engine 315 may be
configured to enable the decision engine 310 to determine the
context information 330 by applying one or more rules to the
enterprise information 350 accessed by the decision engine 310.
Each rule of the rule engine 310 may include a condition and an
associated action that is performed or a conclusion that is drawn
if the condition is satisfied. The inference engine 320 may be
configured to infer the context information 330 from information
input to the decision engine 310. The inference engine 320 may
employ one or more methods or systems to infer the context
information 330 from information accessed by the decision engine
310 that is uncertain, contradictory, or ambiguous. For example,
the inference engine 320 may employ Bayesian reasoning, the
Dempster-Shafer theory, a knowledge base, an expert system, plan
recognition, collaborative filtering, statistical analysis, a
neural network, data mining, keyword analysis, fuzzy logic, an
overlay model, a bug library, or a combination of one or more of
these methods or systems. After determining the context information
330, the decision engine may, for example, update the user profile
370 with the newly determined context information 330.
[0043] The context information 330 determined by the decision
engine 310 includes at least a user identification 332 of the user
accessing the enterprise service, a client identification 334 of
the client device used by the user to access the enterprise
service, a user role 336 associated with the user, an application
expertise 338 of the user related to the enterprise service, and a
client expertise 340 of the user related to the client.
Nevertheless, the context data 330 may include many additional
items of information. For example, the context data 330 may include
physical environment information 342 related to a physical
environment of the user, such as, for example, time, temperature,
lighting, or loudness. The context data 330 also may include
physical status information 344 related to a physical status of the
user, such as, for example, whether the user is hard of hearing,
near-sighted or far-sighted, or whether the user is distracted or
nervous.
[0044] Referring to FIG. 4, the interface adaptation service 180
may include an adaptation engine 410 configured to access the
context information 330 (e.g., directly from the decision engine,
or from the user profile 370) and to adapt an interface of a client
430 according to the context information 330. Similarly to the
decision engine 310 of the system of FIG. 3, the adaptation engine
410 may include a rule engine 415 or an inference engine 420 that
may determine adaptation of the client interface based on the
context information 330 accessed by the adaptation engine 410. The
inference engine 420 may adapt the user interface even when the
context information 330 accessed by the adaptation engine 410 is
uncertain, ambiguous or contradictory. The inference engine 420 may
employ Bayesian reasoning and/or any of the methods or systems
described with respect to the inference engine 320 of FIG. 3,
either alone or in combination.
[0045] FIG. 5, illustrates a systematic process 500 implementable
by the systems of FIGS. 1-4 to adapt a user interface of a client
510 accessing an enterprise service 515 based upon
multi-dimensional context information. Initially, a user 505 may
use the client 510 to access the enterprise service 515. The
process 500 may respond by identifying multi-dimensional context
information (steps 520), and adapting a user interface based on the
multi-dimensional context information (steps 540).
[0046] Determining the multi-dimensional context information (steps
520) may include, for example, obtaining first information
regarding the access or login (e.g. a user identification, a client
identification) from the enterprise service (step 525). Based on
the first information, second information may be determined, for
example, from information sources of the enterprise service (step
530). Based on the first and second information, multi-dimensional
context information then may be determined (step 535).
[0047] Adapting the interface based on the multi-dimensional
context information (steps 540) includes using the
multi-dimensional context information to determine an interface
adaptation suited to the context information (step 545). The
interface configuration also may be based on direct user input,
received, for example, by making a query to the user based on an
initially determined interface configuration.
[0048] More specifically, the interface adaptation may be based,
among other things, on an expertise of the user related to the
enterprise service 515, or related to the client 510 or interaction
scheme. Specifically, a user not familiar with a specific aspect of
the enterprise service 515 may need to be instructed regarding what
information to enter in information fields associated with that
aspect of the enterprise service 515. At the same time, when
accessing the enterprise service 515 from a familiar client such as
a desk-top computer, the user may require no help to use the
screen, keyboard and mouse. On the other hand, the user may access
the enterprise service 515 using a client with a fully VoiceXML
(voice extensible markup language) enabled interface. In that case,
although familiar with the enterprise service 515, the user may
need more support with an unfamiliar interaction scheme of the
interface (e.g. the interface may advise the user "you can say the
number or type into the keyboard"). The interface might also be
adapted to hide items expected to be irrelevant to a current task
of the user while offering shortcuts to probably needed
functions.
[0049] After the interface configuration is determined, the context
adaptation process 500 may communicate the interface configuration
to the client 510 and/or to the enterprise service 515 causing the
interface to be adapted (step 550). The user then may interact with
the enterprise service 515 through the client 510 using the adapted
interface. The context adaptation process 500 may continually
determine context and may readapt the user interface based on a
changed context. For example, after communicating the interface
configuration to the enterprise service and/or the client (step
550), the process 500 may continue to monitor the information
sources of the enterprise service (step 530) and determine context
information (step 535) to determine if a changed context exists.
When a changed context is determined, the process 500 may
re-determine the interface configuration (step 545) and communicate
the re-determined interface configuration to the enterprise service
and/or the client (step 550).
[0050] FIG. 6A illustrates multi-dimensional context information
600 such as may be determined using the process 500 of FIG. 5. The
multi-dimensional context information 600 includes an
identification of the user 605 as David Dudley, age 52, with an
employee number 14999. The multi-dimensional context information
600 also includes information 610 that identifies the client device
used by David Dudley to access the enterprise as a BrainFlex model
32xi voice-capable PDA. User role information 615 identifies David
Dudley's role as a company employee, and, more specifically, as a
driver of a long haul delivery truck. The user role information 615
further identifies that David Dudley currently is making a delivery
to Alyeska Pipeline Service Co. of Fairbanks, Ak.
[0051] The multi-dimensional context information 600 also includes
information 620 regarding aspects of David Dudley's physical
environment. Specifically, it includes information 622 that
identifies David Dudley as being in truck 103, 50 miles outside of
Fairbanks, Ak, and moving towards that city on Route 3. Information
624 and 626 is included that informs also that the time is 2:30
p.m. on Jan. 5, 2003, and that the background noise in the truck is
moderate. David Dudley's expertise with the aspect of the
enterprise service he has accessed is shown by information 630 to
be substantial while his expertise with the client is identified by
information 635 as modest. Context information 640 indicates that
David Dudley historically has preferred to take a passive role with
respect to accessing help. In other words, he has preferred that he
not be required to request the help, but that appropriate help be
offered to him. In addition, information 645 identifies no physical
constraints associated with David Dudley, such as, for example,
hardness of hearing.
[0052] FIG. 6B illustrates an interface adaptation 650 determined
based on the multi-dimensional context information 600 of FIG. 6A.
The interface adaptation 650 includes a description 655 of the
enterprise service content that the interface will present to David
Dudley. In this example, the interface adaptation service has
determined from the context information to present to David Dudley
information relating to his shipping tasks for a three day period
extending from his time of access to the enterprise service.
[0053] This decision is based, for example, on David Dudley's role
as a long haul delivery truck driver in the middle of a current
delivery, and upon the limited interface capabilities of the client
PDA. The interface adaptation service may presume that David Dudley
will most likely inquire about either his present delivery task, or
about a delivery task scheduled for the near future. The interface
adaptation service may determine to simplify the interface by
limiting the information presented to David Dudley accordingly.
Contrary to expectation, however, David Dudley may desire to access
employee benefit services, or to view shipping tasks further in the
future in order to plan for a vacation. The interface adaptation
may allow David Dudley to override its preliminary determination
655 based on his actual rather than expected needs.
[0054] Because the context information indicates that David Dudley
is driving and that lighting likely is poor (e.g., it is still
night in Alaska during the winter at 2:30 p.m.), the interface
adaptation 650 may provide 660 that the primary interface path
should be voice (e.g., using VoiceXML), thus allowing David Dudley
to maintain eye contact with the road. Nevertheless, another
primary interface path might be chosen were the context information
to indicate that the noise level were high, or that David Dudley
were hard of hearing or deaf. For example, another suitable
interface path might be available where the delivery truck includes
a heads-up display with integrated steering-wheel controls
configured to operate with the client PDA. In that case, the heads
up display might be selected as the primary interface path in the
interface adaptation.
[0055] Based on the indication of the context information that
David Dudley has substantial expertise with the enterprise service,
the interface adaptation 650 may indicate an enterprise help level
665 of "low" that may cause the interface to be streamlined by
minimizing the level of help offered regarding use of the
enterprise service. On the other hand, the interface adaptation may
indicate a client device help level 670 that is "moderate to high,"
(e.g., the company recently may have replaced a notebook computer
on which David Dudley was proficient with the PDA). In that
circumstance, the client device help level 670 may cause the user
interface to provide a moderate to high level of help with respect
to the client PDA.
[0056] Finally, the interface adaptation may indicate 675 that help
should be offered to David Dudley in a proactive style (e.g.,
offered when a pause indicates possible user confusion). This
determination may be based on the context information showing that
David Dudley historically has preferred a passive role in receiving
help. The interface adaptation might provide that the help style
should be passive (e.g., activated only upon user request) if the
context information indicated that David Dudley preferred to refer
to help only after having failed himself to determine a
solution.
[0057] The interface adaptation 650 may be implemented based on an
interface or protocol associated with the interface adaptation
service, and/or as a data structure. For example, the interface
adaptation service may "push" the information of the interface
adaptation 650 to the enterprise service or the client device using
a suitable protocol. The interface adaptation service also may be
configured to populate the information of the interface adaptation
650 into an appropriate data structure. The enterprise service or
the client device may then access the information of the interface
adaptation 650 by accessing the data structure.
[0058] FIGS. 7A-C illustrate an interaction of David Dudley with
the client PDA using the adapted interface.
[0059] Referring to FIG. 7A, the client PDA initially may await for
David Dudley to provide login information or to demonstrate an
intent to login. For example, David Dudley might provide login
information using a handwriting recognition system of the PDA,
through an attached keyboard, or might indicate an intent to login
vocally by saying "Login." Upon receiving the verbal command
"login," the client PDA might respond: "To login, state your
username and password." Alternatively, the client PDA might employ
biometrics such as through finger-printing or a voice scan to
provide the needed identification and authentication.
[0060] Referring to FIG. 7B, once David Dudley has logged onto the
system, the context adaptation service may determine context and
adapt the client PDA interface as described above. Based on the
interface adaptation, the client PDA may display a main menu
offering selections related to David Dudley's immediate and near
future tasks as a truck driver. These might include his short term
transport schedule, as well as any maintenance scheduled for his
truck for the same period. Based on the interface adaptation
determination of voice as the primary interface, the client PDA may
present the menu information vocally without further prompting by
David Dudley. For example, the interface may instruct: "To select
from the Main menu, state `one` or `transport schedule` to select
the first item, or state `two` or truck maintenance` to select the
second item." David Dudley might determine to access the transport
schedule and might do so by stating "one."
[0061] Referring to FIG. 7C, the client PDA may respond to David
Dudley's instruction by indicating through speech that "Your
current delivery time is delayed by 3-hours at the customer's
request; pick-up for you next delivery is deferred for 3-hours."
Similar information also may be provided textually by the client
PDA. The textual information displayed by the client PDA may be
more limited in view of a more limited display capacity of the PDA.
The client PDA may provide an associated on screen text description
as shown in FIG. 7C, but may require a user to make an additional
selection to provide the more detailed information readily provided
using voice.
[0062] The context information may be updated to match changing
context continuously, periodically, or by any other suitable
method. As context information changes in response to changing
context, the interface adaptation also may be updated. For example,
David Dudley may determine to stop at a diner to eat before
reaching Fairbanks, but to continue interacting with the enterprise
service while at the diner. The context information may be updated
to reflect that David Dudley no is outside of his truck which no
longer is moving. Moreover, the noise level in the diner may be
high. In view of the changed context, the interface adaptation may
indicate that that the primary interface path should be text rather
than voice based on the noise level and in order to protect privacy
while David Dudley is outside of his truck.
[0063] Other implementations are within the scope of the following
claims. For example, enterprise process workflows also may be
adapted to recognize and respond automatically to complex
situations based on multi-dimensional context information.
Multi-dimensional context information also may improve user
identification and authentication schemes by combining existing
enterprise information with, for example, biometric identification
of a user.
* * * * *