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.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation application of and claims priority to U.S. application Ser. No. 10/457,010, filed on Jun. 9, 2003, which claims priority to 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. The disclosures of the prior applications are considered part of and are incorporated by reference in the disclosure of this application in their entirety. 
     
    
     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&#39;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&#39;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&#39;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&#39;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&#39;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&#39; 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.  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 ). 
         [0045]    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 ). 
         [0046]    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. 
         [0047]    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. 
         [0048]    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 ). 
         [0049]      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&#39;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. 
         [0050]    The multi-dimensional context information  600  also includes information  620  regarding aspects of David Dudley&#39;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&#39;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. 
         [0051]      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. 
         [0052]    This decision is based, for example, on David Dudley&#39;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. 
         [0053]    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. 
         [0054]    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. 
         [0055]    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. 
         [0056]    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. 
         [0057]      FIGS. 7A-C  illustrate an interaction of David Dudley with the client PDA using the adapted interface. 
         [0058]    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. 
         [0059]    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&#39;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.” 
         [0060]    Referring to  FIG. 7C , the client PDA may respond to David Dudley&#39;s instruction by indicating through speech that “Your current delivery time is delayed by 3-hours at the customer&#39;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. 
         [0061]    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. 
         [0062]    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.