Abstract:
Techniques are described providing mediated information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled current state, receiving from a second source an indication of a second value for the indicated state attribute, and, after an indication from a client for a value for the indicated state attribute, sending to the client a mediated value for the indicated state attribute that is produced by mediating between available values for the indicated state attribute including at least the first and second values.
Abstract:
Techniques are disclosed for creating, modifying, categorizing, modeling, distributing, purchasing, selling, and otherwise using themes and theme-related information. Themes can represent various types of contextual aspects or situations, and can model high-level concepts of activities or states not reflected in individual contextual attributes that each model a single aspect of the state of a user, their computing device, the surrounding physical environment, and/or the current cyber-environment. Such themes specify inter-relationships among a set of contextual attributes, and can have associated theme-related information such as theme-specific attributes, theme layouts used to present information and functionality, CSes that provide theme attribute values, and CCs that process theme information. Disclosed techniques can identify one or more themes that currently match the modeled context, select one of the matching themes as a current theme, and provide an appropriate response (e.g., by presenting appropriate information and/or providing appropriate functionality) based on the current theme.
Abstract:
A system filters received messages (e.g., unsolicited advertisements) to determine if they are appropriate for a user based on the non-static, constantly evolving, context of the user. The system can track the user's context by monitoring various environmental parameters, such as related to the user's physical, mental, computing and data environments, and can model the current context of the user based at least in part on the monitoring. The system selects a set of one or more filters to apply to incoming messages based on the user's context, and the selected filters can be updated as the user's context changes. Messages that survive the filters are then evaluated against the user's context to determine whether they should be presented immediately or stored for delayed presentation.
Abstract:
Techniques are disclosed for using a combination of explicit and implicit user context modeling techniques to identify and provide appropriate computer actions based on a current context, and to continuously improve the providing of such computer actions. The appropriate computer actions include presentation of appropriate content and functionality. Feedback paths can be used to assist automated machine learning in detecting patterns and generating inferred rules, and improvements from the generated rules can be implemented with or without direct user control. The techniques can be used to enhance software and device functionality, including self-customizing of a model of the user's current context or situation, customizing received themes, predicting appropriate content for presentation or retrieval, self-customizing of software user interfaces, simplifying repetitive tasks or situations, and mentoring of the user to promote desired change.
Abstract:
An electronic program guide (EPG) organizes and presents programming information to the viewer and allows for creation of queries to facilitate both simple and complex searches of the programming information. According to one aspect, the EPG is configured to automatically identify programs that a viewer is likely to prefer. The EPG collects viewing preferences of a viewer and, based upon the these viewing preferences, automatically develops queries for identifying programs that the viewer is likely to want to watch. The EPG further enables multiple viewers to merge their individual queries into one composite query or to run queries in background to periodically check for programs and notify the viewer when a program is identified. Queries are saved in an EPG database in a hierarchic structure with directories and sub-directories to make it easy for a viewer to organize and retrieve queries. Another aspect concerns creating queries for a channel, network name or program name using a 10-key keypad. The viewer enters digits in the number or name, one digit at a time. With each entry, the viewer might intend to enter a number or letter. The EPG is configured to interpret the data as representing all possible choices, including the number and letters associated with the key. For instance, when a viewer depresses the key with number “5,” the EPG interprets that data to mean “5” or “j” or “k” or “1.” The EPG identifies all programs, channels, and networks which begin with the number or letters. As the viewer continues to enter data, the list of programs, channel, and networks dynamically narrows so that after a few button presses, the viewer is presented with a short list of possible choices.
Abstract:
Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from first and second sources indications of an ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, the providing also includes, in response to receiving a request from a first client for a value of the indicated one attribute, determining that the first source is available to supply the value, obtaining the value from the first source, and supplying a value obtained from the first source to the first client.
Abstract:
Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing of information includes receiving from first and second sources indications of ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, after receiving an indication of the indicated attribute from a first client, the providing of information further includes determining that the first source is available to supply a value for the indicated attribute, obtaining from the first source an indication of the value and information describing the indicated value, determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client, and supplying the indicated value to the client when it is determined that the indicated value is appropriate.