US20070011314A1 - Notification platform architecture - Google Patents
Notification platform architecture Download PDFInfo
- Publication number
- US20070011314A1 US20070011314A1 US11/469,058 US46905806A US2007011314A1 US 20070011314 A1 US20070011314 A1 US 20070011314A1 US 46905806 A US46905806 A US 46905806A US 2007011314 A1 US2007011314 A1 US 2007011314A1
- Authority
- US
- United States
- Prior art keywords
- notification
- user
- information
- sink
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Definitions
- This invention relates generally to unified receipt and notification of alerts generated by varied devices and applications for conveyance to a user, and more particularly to an architecture for such unified context sensing and analysis, alert receipt, and notification.
- a user may receive e-mail and instant messages over a computer, pages over a pager, voice-mail over a phone, such as a cellular (“cell”) or landline phone, news information over the computer, etc. This makes it difficult for the user to receive all his or her different information wherever the user happens to be.
- a phone such as a cellular (“cell”) or landline phone
- a user may be away from his or her computer, but receive an important e-mail.
- the user may have access only to a cell phone or a pager, however.
- the user may be working on the computer, and have turned off the ringer and voice-mail indicator on the phone. When an important voice-mail is left, the user has no way of receiving this information on the computer.
- alerts may not be important to the user—for example, an e-mail from the user's manager or co-worker should receive higher priority than the latest sports scores. More generally, the value of the information contained in an alert should be balanced with the costs associated with the disruption of the user by an alert. Both the costs and value may be context sensitive. Beyond notifications about communications, users are alerted with increasing numbers of services, error messages, and computerized offers for assistance.
- the architecture includes a user mechanism, one or more notification sources and sinks, and a notification manager.
- the user mechanism is designed to both store user profile information regarding notification parameters of a user, such as the user's default notification preferences, and to provide a user context identification and updating service.
- Each notification source is designed to generate notifications intended for the user, while each notification sink is designed to provide the notifications to the user.
- the notification manager is designed to convey the notifications generated by the sources to the sinks, based on information stored by the user mechanism and on information provided or inferred about the urgencies of the notifications. For example, the notification manager can access or infer the context of the user (e.g., the user's current location and focus of attention).
- Such sources of information can include the user's context profile, the user's online calendar, the time of day, events about the world, organization, system, and/or the user's activity.
- the notification can then determine through an analysis of the context and the urgency of the information which of the notifications should be conveyed to the user, via which of the sinks, and in which manner or modality provided by the sinks.
- a user may, for example, receive e-mail alerts on a cell phone, or voice-mail on a desktop computer, as is determined appropriate by the notification manager.
- notifications from notification sources are passed to the notification manager, which determines whether the user should be notified. If the manager determines that the user should be notified, then the manager also determines how the user should be notified. This can be based on the information stored in the user profile, including such information as the user's preferences and current context, and notifies the appropriate notification sinks.
- the sinks can include, for example, a desktop computer, a cell phone, a pager, etc.
- notification platform generalize to any notification, including those associated with the potential provision of a service by a software component in a desktop or mobile setting.
- notifications include:
- the invention includes computer-implemented methods, machine-readable media, computerized systems, and computers of varying scopes.
- Other aspects, embodiments and advantages of the invention, beyond those described here, will become apparent by reading the detailed description and with reference to the drawings.
- FIG. 1 is a diagram of an example computerized device in conjunction with which embodiments of the invention can be practiced;
- FIG. 2 is a diagram of a notification architecture according to an embodiment of the invention.
- FIG. 3 is a diagram illustrating the user mechanism of the architecture of FIG. 2 in more detail, in accordance with an embodiment of the invention
- FIG. 4 is a diagram of a graph showing an example decay of the utility of information contained within a notification over time, according to an embodiment of the invention.
- FIG. 5 is a flowchart of a method according to an embodiment of the invention.
- FIG. 1 a diagram of an example computerized device 100 in conjunction with which embodiments of the invention may be practiced is shown.
- the example computerized device can be, for example, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cell phone, etc.; the invention is not so limited.
- the description of FIG. 1 is intended to provide a brief, general description of a suitable computerized device in conjunction with which the invention may be implemented.
- Those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PC's, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- the device 100 includes one or more of the following components: processor(s) 102 , memory 104 , storage 106 , a communications component 108 , input device(s) 110 , a display 112 , and output device(s) 114 . It is noted, that for a particular instantiation of the device 100 , one or more of these components may not be present. For example, a PDA may not have any output device(s) 114 , while a cell phone may not have storage 106 , etc. Thus, the description of the device 100 is to be used as an overview as to the types of components that typically reside within such a device 100 , and is not meant as a limiting or exhaustive description of such computerized devices.
- the processor(s) 102 may include a single central-processing unit (CPU), or a plurality of processing units, commonly referred to as a parallel processing environment.
- the memory 104 may include read only memory (ROM) 24 and/or random access memory (RAM) 25 .
- the storage 106 may be any type of storage, such as fixed-media storage devices such as hard disk drives, flash or other non-volatile memory, as well as removable-media storage devices, such as tape drives, optical drives like CD-ROM's, floppy disk drives, etc.
- the storage and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data.
- a communications component 108 can be present in or attached to the device 100 .
- a component 108 may be one or more of a network card, such as an Ethernet card, an analog modem, a cable modem, a digital subscriber loop (DSL) modem, an Integrated Services Digital Network (ISDN) adapter, etc.; the invention is not so limited.
- the input device(s) 110 are the mechanisms by which a user indicates input to the device 100 .
- Such device(s) 110 include keyboards, pointing devices, microphones, joysticks, game pads, satellite dishes, scanners, etc.
- the display 112 is how the device 100 typically shows output to the user, and can include, for example, cathode-ray tube (CRT) display devices, flat-panel display (FPD) display devices, etc.
- the device 100 may indicate output to the user via other output device(s) 114 , such as speakers, printers, etc.
- the architecture 200 of FIG. 2 includes a user mechanism 202 , a notification manager 204 (also referred to as an event broker), a number of notification sources 206 a , 206 b , . . . , 206 n , and a number of notification sinks 208 a , 208 b , . . . , 208 m .
- the sources are also referred to as event publishers, while the sinks are also referred to as event subscribers. There can be any number of sinks and sources.
- the notification manager 204 conveys notifications, which are also referred to as events or alerts, from the sources 206 to the sinks 208 , based on information stored in the user mechanism 202 .
- notifications which are also referred to as events or alerts
- the user mechanism 202 stores information regarding variables and parameters of a user that influence notification decision-making.
- the parameters may include contextual information, such as the user's typical locations and attentional focus or activities per the time of day and the day of the week, and additional parameters conditioned on such parameters, such as the devices users tend to have in different locations.
- Such parameters may also be functions of observations made autonomously via one or more sensors.
- profiles may be selected or modified based on information about a user's location as might be provided by a global positioning system (GPS) subsystem, on information about the type of device being used and/or the pattern of usage of the device, the last time a device of a particular type was accessed by the user, etc.
- GPS global positioning system
- automated inference may also be employed, to dynamically infer parameters such as location and attention.
- the profile parameters may be stored as a user profile that can be edited by the user.
- the notification architecture can also allow users to specify in real-time his or her state, such as the user not being available except for important notifications for the next x hours, or until a given time.
- the parameters can also include default notification preference parameters regarding a user's preference as to being disturbed by notifications of different kinds in different settings, which can be used as the basis from which to make notification decisions by the notification manager 204 , and to the basis upon which a particular user can make changes.
- the parameters may include default parameters as to how the user wishes to be notified in different situations, such as by cell phone, by pager, etc.
- the parameters can include such assessments as the costs of disruption associated with being alerted by different modes in different settings.
- the parameters can include contextual parameters indicating the likelihoods that the user is in different locations, the likelihoods that different devices are available, and the likelihoods of his or her attentional status at a given time, as well as notification parameters indicating how the user desires to be notified at a given time.
- the information stored by the user mechanism 202 is in one embodiment inclusive of contextual information determined by the mechanism 202 .
- the contextual information is determined by the mechanism 202 by discerning the user's location and attentional status based on one or more contextual information sources, as is described in more detail in a later section of the detailed description.
- the mechanism 202 may be able to determine with precision the actual location of the user via a global positioning system (GPS) that is a part of a user's car, cell phone, etc.
- GPS global positioning system
- the mechanism 202 may also use a statistical model to determine the likelihood that the user is in a given state of attention by considering background assessments and/or observations gathered through considering such information as the type of day, the time of day, the data in the user's calendar, and observations about the user's activity. This is described in more detailed in the cofiled, copending and coassigned patent application entitled “Contextual Models and Methods for Inferring Attention and Location.” [attorney docket no. 1018.101US4]
- the given state of attention can include whether the user is open to receiving notification, busy and not open to receiving notification, etc.
- the type of day can include weekdays, weekends, holidays, etc.
- Each of the sources 206 a , 206 b , . . . , 206 n is able to generate notifications intended for the user.
- the sources 206 may include communications, such as Internet and network-based communications, local desktop computer-based communications, and telephony communications, as well as software services, such as intelligent help, background queries, automated scheduling, etc.
- a notification source is defined generally herein as that which generates events, which can also be referred to as notifications and alerts, intended to alert a user, or a proxy for the user, about information, services, or a system or world event.
- a notification source can also be referred to as an event source.
- e-mail may be generated as notifications by an e-mail notification source such that it is prioritized, where the host application program generating the notification assigns the e-mail with a relative priority corresponding to the likely importance or urgency of the e-mail to the user.
- the e-mail may also be sent without regard to their relative importance to the user.
- Desktop-centric notifications can include an automated dialog with the goal of alerting a user to a potentially valuable service that he or she may wish to execute (e.g., scheduling from a message), information that the user may wish to review (e.g., derived from a background query), or errors and other alerts generated by a desktop computer.
- Internet-related services can include notifications including information that the user has subscribed to, such as headlines of current news every so often, stock quotes, etc.
- Notification sources 206 can themselves be push-type or pull-type sources.
- Push-type sources are those that automatically generate and send information without a corresponding request, such as headline news and other Internet-related services that send information automatically once subscribed to.
- Pull-type sources are those that send information in response to a request, such as e-mail being received after a mail server is polled.
- Still other notification sources include the following:
- Each of the notification sinks 208 a , 208 b , . . . , 208 n is able to provide the notifications to the user.
- such notification sinks 208 can include computers, such as desktop and/or laptop computers, handheld computers, cell phones, landline phones, pagers, automotive-based computers, etc. It is noted that some of the sinks 208 can convey notifications more richly than other of the sinks 208 .
- a desktop computer typically has speakers and a relatively large color display attached to it, as well as having a high bandwidth for receiving information when attached to a local network or to the Internet. Therefore, notifications can be conveyed by the desktop computer to the user in a relatively rich manner.
- a notification sink can in one embodiment refer to that which subscribes, via an event subscription service, to events or notifications.
- the notification manager 204 accesses the information stored by the user mechanism 202 , and makes a decision as to which of the notifications it receives from the sources 206 to convey to which of the sinks 208 based on this information. Furthermore, the manager 204 is able to determine how the notification is to be conveyed, depending on which of the sinks 208 it has selected to send the information to. For example, it may determine that the notification should be summarized before being provided to a given of the sinks 208 .
- the manager 204 is in one embodiment a computer program executed by a processor of a computer from a machine-readable medium such as a memory thereof.
- the invention is not limited to how the manager 204 makes its decisions as to which of the notifications to convey to which of the notification sinks, and in what manner the notifications are conveyed.
- a decision-theoretic analysis can be made.
- the notification manager can be designed to infer important uncertainties about variables including a user's location, attention, device availability, and amount of time until the user will access the information if there were no alert.
- the notification manager can then make notification decisions about whether to alert a user to a notification, and if so, the nature of the summarization and the best device or devices to employ for relaying the notification.
- the manager 204 determines the net expected value of a notification. In doing so, it can consider the following:
- the inferences made about uncertainties thus may be generated as expected likelihoods of values such as the cost of disruption to the user with the use of a particular mode of a particular device given some attentional state of the user, etc.
- the notification manager 204 makes decisions as to one or more of the following:
- inference refers generally to the process of reasoning about or inferring states of the system, environment, or user from a set of observations as captured via events and/or data. Inference can be used to identify a specific context or action, or can be employed to generate a probability distribution over states. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques used for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- the notification manager 204 accesses information stored in a user profile by the user mechanism 202 in lieu of or to support a personalized decision-theoretic analysis.
- the user profile may indicate that at a given time, the user prefers to be notified via a pager, and only if the notification has a predetermined importance level.
- Such information can be used as a baseline from which to start a decision-theoretic analysis, or can be the only manner by which the manager 204 determines how and whether to notify the user.
- the notification platform architecture is constructed as a layer that resides over an eventing or messaging infrastructure.
- eventing and messaging systems and protocols include:
- the user mechanism 202 the notification sources 206 , and the notification sinks 208 are each described in more detail, according to varying embodiments of the invention. Thereafter, a method of the manner by which the architecture operates according to an embodiment of the invention is presented.
- FIG. 3 is a diagram 300 showing the user mechanism 202 of FIG. 2 in more detail.
- the user mechanism 202 as shown in FIG. 3 includes a user notification preferences store 302 , a user context module 304 that includes a user context profile store 305 , and a whiteboard 307 .
- the user mechanism 202 is in one embodiment implemented as one or more computer programs executable by a processor of a computer from a machine-readable medium thereof, such as a memory.
- the store 302 stores notification parameters for a user, such as the default notification preferences for the user, as a user profile, which can then be edited and modified by the user.
- the store 302 can be considered as that which stores information on parameters that influence how a user is to be notified.
- the user context module 304 determines a user's current context, based on the context information sources 306 as published to the whiteboard 307 ; the user context profile store 305 stores the context parameters for a user, such as the default context settings for the user, which can be edited and modified by the user. That is, the user context module 304 provides a best guess about current context information by accessing information from the store 305 and/or updating the prior set of beliefs in the store 305 with live sensing, via one or more context sources 306 .
- the store 365 can be considered as that which stores a priori where a user is, and what the user is doing.
- the module 304 is in one embodiment implemented as a computer program executable by a processor of a computer from a machine-readable medium thereof, such as a memory.
- the user context profile store 305 is a pre-assessed or predefined user profile that captures such information as a deterministic or probabilistic profile.
- the profile can be of typical locations, activities, device availabilities, and costs and values of different classes of notification as a function of such observations as time of day, type of day, and user interactions with one or more devices.
- the type of day can include weekdays, weekends, holidays, etc.
- the user context module 304 can then actively determine or infer key aspects of the context of the user, such as the user's current or future location and attentional state.
- the actual states of context can be accessed directly from the sources 306 via the whiteboard 307 , or, can be inferred from a variety of such observations through inferential methods such as Bayesian reasoning as known within the art.
- the context information sources 306 provide information to the module 304 via the whiteboard 307 regarding the user's attentional state and location, from which the module 304 can make a determination as to the user's current context (that is, the user's current attentional state and location). Furthermore, the invention is not limited to a particular number or type of context sources 306 , nor the type of information inferred or accessed by the user context module. However, in one embodiment, the context sources 306 include multiple desktop information and events, such as mouse information, keyboard information, application information (e.g., which application is currently receiving the focus of the user), ambient sound and utterance information, text information in the windows on the desktop, etc.
- the whiteboard 307 is in one embodiment a common storage area, to which the context information sources 306 can publish information, and from which multiple components, including sources and the module 304 can access this information; it is not necessary for implementation of the invention, however.
- An event also referred to as a notification or alert, can in one embodiment generally include information about an observation about one or more states of the world. Such states can include the status of system components, the activity of a user, or a measurement about the environment. Furthermore, events can be generated by an active polling of a measuring device or source of events, by the receipt of information that is sent on a change, or per a constant or varying event heartbeat.
- context sources 306 include personal-information manager (PIM) information of the user, which usually can provide scheduling information regarding the schedule of the user, etc.
- PIM personal-information manager
- GPS global positioning system
- real-time mobile device usage is a type of context source 306 .
- a mobile device such as a cell phone may be able to determine if it is currently being used by the user, as well as its orientation and tilt (indicating information regarding its usage as well), and acceleration and speed (indicating information as to whether the user is moving or not).
- the notification sources 206 of the architecture 200 of FIG. 2 are described in more detail.
- the notification sources generally generate notifications that are conveyed to the notification manager, which determines when notifications should occur, and, if so, which of the notifications should be conveyed to which of the notification sinks and in what order, as has also been already described.
- each notification source has identified with it one or more of the following parameters within a standard description of key attributes and relationships, referred to herein as a notification source schema or source schema.
- schema are provided for sources, for sinks, and for context-information sources.
- Such schemas provide declarative information about different component and provide a mechanism for the sources, the notification manager, the sinks, and the user mechanism (including the context mechanism described in the previous section of the detailed description) to share semantic information with one another.
- different schemas provide information about the nature, urgency, and device signaling modalities associated with notification.
- schema can be defined generally as a collection of classes and relationships among classes that defines the structure of notifications and events, containing information including event or notification class, source, target, event or notification semantics, ontological content information, observational reliability, and any quality-of-service attributes.
- the parameters for each notification source schema include one or more of: message class; relevance; importance; time criticality; novelty; content attributes; and fidelity tradeoffs, and source information summary information.
- the message class for a notification generated by a notification source indicates the type of communication of the notification, such as e-mail, instant message, numerical financial update, desktop service, etc.
- the relevance for a notification generated by a notification sources indicates a likelihood that the information contained within the notification is relevant, for one or more specified contexts. In one embodiment, the relevance is a logical flag, indicating whether the source is relevant for a given context or not.
- the novelty of the notification indicates the likelihood that the user already knows the information contained within the notification. That is, the novelty is whether the information is new to the user, over time (indicating if the user knows the information now, and when, if ever, the user will learn the information in the future without being alerted to it).
- Fidelity tradeoffs associated with the notification indicate the loss of value of the information within the notification that can result from different forms of specified allowed truncation, summarization, etc. Such truncation and/or summarization may be required for the notification to be conveyed to certain types of notification sinks that may have bandwidth or other limitations preventing them from receiving the full notification as originally generated. Fidelity in general refers to the nature and/or degree of completeness of the original content associated with a notification. For example, a long e-mail message may be truncated, or otherwise summarized to the maximum of 100 characters allowed by a cell phone, incurring a loss of fidelity.
- Fidelity tradeoffs refer to a set of fidelity preferences of a source stated either in terms of orderings (e.g., rendering importance in order of graphics first, then sound) and/or costs functions that indicate how the total value of the content of the notification diminishes with changes in fidelity.
- orderings e.g., rendering importance in order of graphics first, then sound
- costs functions that indicate how the total value of the content of the notification diminishes with changes in fidelity.
- a fidelity tradeoff might describe how the full value associated with the transmission of a complete e-mail message changes with increasingly greater amounts of truncation.
- Content attributes contain a summary of the nature of the content, representing such information as whether the core message includes text, graphics, and audio components. The content itself is the actual graphics, text, and/or audio that make up the message content of the notification.
- the importance of a notification refers to the value of the information contained in the notification to the user, assuming the information is relevant in the current context. In one embodiment, it is expressed as a dollar value of the information's worth to the user.
- Time criticality indicates the time-dependent change in the value of the information contained in the notification—that is, how the value of the information changes over time. In most but not all cases, the value of the information of a notification decays with time. This is particularly shown in the diagram 400 of FIG. 4 .
- the graph 402 shows the utility of a notification mapped over time. At the point 404 within the graph, representing the initial time, the importance of the notification is indicated, while the curve 406 indicates the decay of the utility over time.
- Source summary information allows a source to post general summaries of the status of information and potential notifications available from a source.
- source summary information from a messaging source might include information about the total number of unread messages that are at least some priority, the status of attempts by people to communicate with a user, etc.
- the notification sinks 208 of the architecture 200 of FIG. 2 are described in more detail.
- the notification sinks are devices, etc., by which the user can be notified of information contained in notifications.
- the choice as to which sink or sinks are to be used to convey a particular notification is determined by the notification manager.
- each notification sink has identified with it one or more of the following parameters within a schema: device class; modes of signaling (alerting); and, for each mode, fidelity/rendering capabilities, transmission reliability, actual cost of communication, and attentional cost of disruption.
- the schema for the devices can additionally include a description of the alerting attributes and parameters for controlling the attributes, and functions by which other attributes (e.g., transmission reliability, cost of distribution, etc.) change with the different settings of the alerting attributes.
- the schema for notification sinks provides for the manner by which the notification devices communicate semantic information about their nature and capabilities with the notification manager and other components of the system.
- Default attributes and schema templates for different device types can be made available in device profiles stored in the user notification preferences store, such as the store 302 of FIG. 3 as described in the previous section. Such default templates can be directed to overrule values provided by devices or to provide attributes when they are missing from schema provided by devices.
- the class of the device refers to the type of the device: a cell phone, a desktop computer, a laptop computer, etc.
- the class can also be more general, such as a mobile device, a stationery device, etc.
- the modes of signaling refer to the different ways in which a given device can alert the user about a notification.
- Devices may have one or more notification modes. For example, a cell phone can only vibrate, only ring with some volume, or it can both vibrate and ring.
- a desktop display for an alerting system can in one embodiment be decomposed into several discrete modes (e.g., a small notification window in the upper right hand of the display vs.
- a device can allow for modes with alerting attributes that are functions of parameters, as part of its definition.
- alerting attributes include such controls as the volume at which an alert is played at the desktop, rings on a cell phone, the size of an alerting window, etc.
- the transmission reliability for a mode of a notification sink indicates the likelihood that the user will receive the communicated alert about a notification, which is conveyed to the user via the sink with that mode.
- transmission reliability may be dependent on the device availability and context of the user, the transmission reliability of different modes of a device can be conditioned on such contextual attributes as the location and attention of a user.
- Transmission reliability for each of one or more unique contextual states defined by the cross product of such attributes as unique locations and unique attentional states, defined as disjunctions created as abstractions of such attributes (e.g., for any location away from the home, and any time period after 8 am and before noon), can also be specified.
- Contexts can also influence transmission reliability because of the ambient noise or other masking or distracting properties of the context.
- the actual cost of communication indicates the actual cost of communicating the information to the user when contained within a notification that is conveyed to the sink. For example, this cost can include the fees associated with a cell phone transmission.
- the cost of disruption includes the attentional costs associated with the disruption associated with the alert employed by the particular mode of a device, in a particular context. Attentional costs are typically sensitive to the specific focus of attention of the user.
- the fidelity/rendering capability is a description of the text, graphics, and audio/tactile capabilities of a device, also given a mode. For example, a cell phone's text limit may be 100 characters for any single message, and the phone may have no graphics abilities.
- a computer-implemented method is desirably realized at least in part as one or more programs running on a computer—that is, as a program executed from a computer-readable medium such as a memory by a processor of a computer.
- the programs are desirably storable on a machine-readable medium such as a floppy disk or a CD-ROM, for distribution and installation and execution on another computer.
- the program or programs can be a part of a computer system or a computer, such as that described in conjunction with FIG. 1 in a previous section of the detailed description. The invention is not so limited, however.
- the method 500 can be executed by the notification architecture 200 of FIG. 2 , which has been already described.
- one or more notification sources generate notifications, which are received by a notification manager.
- the user mechanism generates context information regarding the user, which in 506 is received by the notification manager. That is, in one embodiment, in 504 , the user mechanism accesses a user contextual information profile that indicates the user's current attentional status and location, and/or assesses real-time information regarding the user's current attentional status and location from one or more contextual information sources, as has been described in the previous sections of the detailed description.
- the notification manager determines which of the notifications to convey to which of the notification sinks, based in part on the context information received from the user mechanism.
- the notification also makes it determination based on information regarding notification parameters of the user as stored by the user mechanism, in one embodiment. That is, in one embodiment, in 508 , the manager performs a decision-theoretic analysis as to whether a user should be alerted for a given notification, and how the user should be notified.
- Notification parameters regarding the user can be utilized to personalize the analysis by filling in missing values or by overwriting parameters provided in the schema of sources or sinks. Notification preferences can also provide policies that are employed in lieu of the decision-theoretic analysis, as has been described in the previous sections of the detailed description. Based on this determination, the notification manager conveys the notifications to the sinks in 510 .
- Embodiments of the invention have been described herein thus far as applicable to users.
- the invention itself is not so limited. That is, the invention is applicable to any type of entity, including users.
- Other types of entities include agents, processes, computer programs, threads, services, servers, computers, machines, companies, organizations, businesses, etc.
- the agent for example, may be a software agent, which can be generally defined as a computer program that performs a background task for a user and reports to the user when the task is done or some expected event has taken place. Still other types of entities are encompassed under the invention, as can be appreciated by those of ordinary skill within the art.
- the invention itself is applicable to any type of entity.
- the user mechanism of a system according to an embodiment of the invention can be generalized as a mechanism, applicable to any type of entity.
- notification sinks can generate notifications, alerts and events regarding and for entities other than users.
- notification sinks can receive notifications, alerts and events regarding and for entities other than users.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Biology (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Complex Calculations (AREA)
Abstract
An architecture for a notification platform is disclosed. In one embodiment, the architecture includes a user mechanism, one or more notification sources and sinks, and a notification manager. The user mechanism stores information regarding notification parameters of a user, such as the user's default notification preferences, and may also contain, access, and/or infer contextual information. Each notification source generates notifications intended for the user, while each notification sink can provide the notifications to the user. Notification sources and sinks provide information via standardized notification schema. The notification manager is designed to appropriately convey the notifications generated by the sources to the sinks, based on information provided by the user mechanism, and by the sources and sinks. As disclosed, the architecture is applicable to entities other users as well.
Description
- This is a continuation application of U.S. patent application Ser. No. 09/596,365 filed on Jun. 17, 2000, entitled “Notification Platform Architecture”, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/189,801, filed Mar. 16, 2000, and entitled “Attentional Systems and Interfaces”. The entireties of these applications are incorporated herein by reference.
- This invention relates generally to unified receipt and notification of alerts generated by varied devices and applications for conveyance to a user, and more particularly to an architecture for such unified context sensing and analysis, alert receipt, and notification.
- Many computer users today receive information from a number of different sources, and utilize a number of different devices order to access this information. For example, a user may receive e-mail and instant messages over a computer, pages over a pager, voice-mail over a phone, such as a cellular (“cell”) or landline phone, news information over the computer, etc. This makes it difficult for the user to receive all his or her different information wherever the user happens to be.
- For example, a user may be away from his or her computer, but receive an important e-mail. The user may have access only to a cell phone or a pager, however. As another example, the user may be working on the computer, and have turned off the ringer and voice-mail indicator on the phone. When an important voice-mail is left, the user has no way of receiving this information on the computer.
- Moreover, many of the alerts may not be important to the user—for example, an e-mail from the user's manager or co-worker should receive higher priority than the latest sports scores. More generally, the value of the information contained in an alert should be balanced with the costs associated with the disruption of the user by an alert. Both the costs and value may be context sensitive. Beyond notifications about communications, users are alerted with increasing numbers of services, error messages, and computerized offers for assistance.
- The prior art, however, does not provide for alerts following the user, for the prioritization of the alerts, nor for considering the potentially context-sensitive value and costs associated with notifications. For these and other reasons, therefore, there is a need for the present invention.
- This invention relates to the architecture for a notification platform. In one embodiment, the architecture includes a user mechanism, one or more notification sources and sinks, and a notification manager. The user mechanism is designed to both store user profile information regarding notification parameters of a user, such as the user's default notification preferences, and to provide a user context identification and updating service. Each notification source is designed to generate notifications intended for the user, while each notification sink is designed to provide the notifications to the user. The notification manager is designed to convey the notifications generated by the sources to the sinks, based on information stored by the user mechanism and on information provided or inferred about the urgencies of the notifications. For example, the notification manager can access or infer the context of the user (e.g., the user's current location and focus of attention). This can be done based on a consideration of multiple sources of information. Such sources of information can include the user's context profile, the user's online calendar, the time of day, events about the world, organization, system, and/or the user's activity. The notification can then determine through an analysis of the context and the urgency of the information which of the notifications should be conveyed to the user, via which of the sinks, and in which manner or modality provided by the sinks.
- Embodiments of the invention provide for advantages. A user may, for example, receive e-mail alerts on a cell phone, or voice-mail on a desktop computer, as is determined appropriate by the notification manager. Thus, notifications from notification sources are passed to the notification manager, which determines whether the user should be notified. If the manager determines that the user should be notified, then the manager also determines how the user should be notified. This can be based on the information stored in the user profile, including such information as the user's preferences and current context, and notifies the appropriate notification sinks. The sinks can include, for example, a desktop computer, a cell phone, a pager, etc.
- Furthermore, the methods and architecture of the notification platform generalize to any notification, including those associated with the potential provision of a service by a software component in a desktop or mobile setting. Such notifications include:
-
- alerts about services such as those that seek to automatically provide assistance or tips to a user working with a software application and/or automatically perform scheduling by examining e-mail at the focus of a user's attention;
- alerts that notify the user to upcoming appointments or engagements;
- alerts that relay important changes in the location, proximity, or attentional status of friends and colleagues; and,
- alerts that issue background queries based on text being composed or reviewed by users and present the results of such background searches to the user.
- The invention includes computer-implemented methods, machine-readable media, computerized systems, and computers of varying scopes. Other aspects, embodiments and advantages of the invention, beyond those described here, will become apparent by reading the detailed description and with reference to the drawings.
-
FIG. 1 is a diagram of an example computerized device in conjunction with which embodiments of the invention can be practiced; -
FIG. 2 is a diagram of a notification architecture according to an embodiment of the invention; -
FIG. 3 is a diagram illustrating the user mechanism of the architecture ofFIG. 2 in more detail, in accordance with an embodiment of the invention; -
FIG. 4 is a diagram of a graph showing an example decay of the utility of information contained within a notification over time, according to an embodiment of the invention; and, -
FIG. 5 is a flowchart of a method according to an embodiment of the invention. - In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
- Example Computerized Device
- Referring to
FIG. 1 , a diagram of an examplecomputerized device 100 in conjunction with which embodiments of the invention may be practiced is shown. The example computerized device can be, for example, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cell phone, etc.; the invention is not so limited. The description ofFIG. 1 is intended to provide a brief, general description of a suitable computerized device in conjunction with which the invention may be implemented. Those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PC's, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. - The
device 100 includes one or more of the following components: processor(s) 102,memory 104,storage 106, acommunications component 108, input device(s) 110, adisplay 112, and output device(s) 114. It is noted, that for a particular instantiation of thedevice 100, one or more of these components may not be present. For example, a PDA may not have any output device(s) 114, while a cell phone may not havestorage 106, etc. Thus, the description of thedevice 100 is to be used as an overview as to the types of components that typically reside within such adevice 100, and is not meant as a limiting or exhaustive description of such computerized devices. - The processor(s) 102 may include a single central-processing unit (CPU), or a plurality of processing units, commonly referred to as a parallel processing environment. The
memory 104 may include read only memory (ROM) 24 and/or random access memory (RAM) 25. Thestorage 106 may be any type of storage, such as fixed-media storage devices such as hard disk drives, flash or other non-volatile memory, as well as removable-media storage devices, such as tape drives, optical drives like CD-ROM's, floppy disk drives, etc. The storage and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data. It should be appreciated by those skilled in the art that any type of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like, may be used. - Because the
device 100 may operate in a network environment, such as the Internet, intranets, extranets, local-area networks (LAN's), wide-area networks (WAN's), etc., acommunications component 108 can be present in or attached to thedevice 100. Such acomponent 108 may be one or more of a network card, such as an Ethernet card, an analog modem, a cable modem, a digital subscriber loop (DSL) modem, an Integrated Services Digital Network (ISDN) adapter, etc.; the invention is not so limited. Furthermore, the input device(s) 110 are the mechanisms by which a user indicates input to thedevice 100. Such device(s) 110 include keyboards, pointing devices, microphones, joysticks, game pads, satellite dishes, scanners, etc. Thedisplay 112 is how thedevice 100 typically shows output to the user, and can include, for example, cathode-ray tube (CRT) display devices, flat-panel display (FPD) display devices, etc. In addition, thedevice 100 may indicate output to the user via other output device(s) 114, such as speakers, printers, etc. - Architecture
- In this section of the detailed description, a notification architecture according to an embodiment of the invention is described, in conjunction with the diagram of
FIG. 2 . Thearchitecture 200 ofFIG. 2 includes auser mechanism 202, a notification manager 204 (also referred to as an event broker), a number ofnotification sources notification manager 204 conveys notifications, which are also referred to as events or alerts, from the sources 206 to the sinks 208, based on information stored in theuser mechanism 202. Each of the components of thearchitecture 200 ofFIG. 2 is now described in turn - The
user mechanism 202 stores information regarding variables and parameters of a user that influence notification decision-making. For example, the parameters may include contextual information, such as the user's typical locations and attentional focus or activities per the time of day and the day of the week, and additional parameters conditioned on such parameters, such as the devices users tend to have in different locations. Such parameters may also be functions of observations made autonomously via one or more sensors. For example, profiles may be selected or modified based on information about a user's location as might be provided by a global positioning system (GPS) subsystem, on information about the type of device being used and/or the pattern of usage of the device, the last time a device of a particular type was accessed by the user, etc. Furthermore, as is described in more detail later in the application, automated inference may also be employed, to dynamically infer parameters such as location and attention. The profile parameters may be stored as a user profile that can be edited by the user. Beyond relying on sets of predefined profiles or dynamic inference, the notification architecture can also allow users to specify in real-time his or her state, such as the user not being available except for important notifications for the next x hours, or until a given time. - The parameters can also include default notification preference parameters regarding a user's preference as to being disturbed by notifications of different kinds in different settings, which can be used as the basis from which to make notification decisions by the
notification manager 204, and to the basis upon which a particular user can make changes. The parameters may include default parameters as to how the user wishes to be notified in different situations, such as by cell phone, by pager, etc. The parameters can include such assessments as the costs of disruption associated with being alerted by different modes in different settings. That is, in one embodiment, the parameters can include contextual parameters indicating the likelihoods that the user is in different locations, the likelihoods that different devices are available, and the likelihoods of his or her attentional status at a given time, as well as notification parameters indicating how the user desires to be notified at a given time. - The information stored by the
user mechanism 202 is in one embodiment inclusive of contextual information determined by themechanism 202. The contextual information is determined by themechanism 202 by discerning the user's location and attentional status based on one or more contextual information sources, as is described in more detail in a later section of the detailed description. Themechanism 202, for example, may be able to determine with precision the actual location of the user via a global positioning system (GPS) that is a part of a user's car, cell phone, etc. Themechanism 202 may also use a statistical model to determine the likelihood that the user is in a given state of attention by considering background assessments and/or observations gathered through considering such information as the type of day, the time of day, the data in the user's calendar, and observations about the user's activity. This is described in more detailed in the cofiled, copending and coassigned patent application entitled “Contextual Models and Methods for Inferring Attention and Location.” [attorney docket no. 1018.101US4] The given state of attention can include whether the user is open to receiving notification, busy and not open to receiving notification, etc. The type of day can include weekdays, weekends, holidays, etc. - Each of the
sources - For example, e-mail may be generated as notifications by an e-mail notification source such that it is prioritized, where the host application program generating the notification assigns the e-mail with a relative priority corresponding to the likely importance or urgency of the e-mail to the user. The e-mail may also be sent without regard to their relative importance to the user. Desktop-centric notifications can include an automated dialog with the goal of alerting a user to a potentially valuable service that he or she may wish to execute (e.g., scheduling from a message), information that the user may wish to review (e.g., derived from a background query), or errors and other alerts generated by a desktop computer. Internet-related services can include notifications including information that the user has subscribed to, such as headlines of current news every so often, stock quotes, etc.
- Other notifications can include background queries (e.g., while the user is working, text that the user is currently working on may be reviewed, such that background queries regarding the text are formulated and issued to search engines), scheduling tasks from a scheduling or other program, etc. Notification sources 206 can themselves be push-type or pull-type sources. Push-type sources are those that automatically generate and send information without a corresponding request, such as headline news and other Internet-related services that send information automatically once subscribed to. Pull-type sources are those that send information in response to a request, such as e-mail being received after a mail server is polled. Still other notification sources include the following:
-
- e-mail desktop applications such as calendar systems;
- computer systems (e.g., that may alert the user with messages that information about alerts about system activity or problems);
- Internet-related services, appointment information, scheduling queries;
- changes in documents or numbers of certain kinds of documents in one or more shared folders;
- availability of new documents in response to standing or persistent queries for information; and,
- information sources for information about people and their presence, their change in location, their proximity (e.g., let me know when I am traveling if another employee of Microsoft is within 10 miles of me”), or their availability (e.g., let me know when Steve is available for a conversation and is near a high-speed link that can support full video teleconferencing”).
- Each of the notification sinks 208 a, 208 b, . . . , 208 n is able to provide the notifications to the user. For example, such notification sinks 208 can include computers, such as desktop and/or laptop computers, handheld computers, cell phones, landline phones, pagers, automotive-based computers, etc. It is noted that some of the sinks 208 can convey notifications more richly than other of the sinks 208. For example, a desktop computer typically has speakers and a relatively large color display attached to it, as well as having a high bandwidth for receiving information when attached to a local network or to the Internet. Therefore, notifications can be conveyed by the desktop computer to the user in a relatively rich manner. Conversely, most cell phones have a small display that is black and white, and receive information at relatively low bandwidth. Correspondingly, the information associated with notifications conveyed by the cell phone usually must be shorter and geared towards the phone's known limitations. Thus, the content of a notification may differ depending on whether it is to be sent to a cell phone or a desktop computer. A notification sink can in one embodiment refer to that which subscribes, via an event subscription service, to events or notifications.
- The
notification manager 204 accesses the information stored by theuser mechanism 202, and makes a decision as to which of the notifications it receives from the sources 206 to convey to which of the sinks 208 based on this information. Furthermore, themanager 204 is able to determine how the notification is to be conveyed, depending on which of the sinks 208 it has selected to send the information to. For example, it may determine that the notification should be summarized before being provided to a given of the sinks 208. Themanager 204 is in one embodiment a computer program executed by a processor of a computer from a machine-readable medium such as a memory thereof. - The invention is not limited to how the
manager 204 makes its decisions as to which of the notifications to convey to which of the notification sinks, and in what manner the notifications are conveyed. In one embodiment, a decision-theoretic analysis can be made. For example, the notification manager can be designed to infer important uncertainties about variables including a user's location, attention, device availability, and amount of time until the user will access the information if there were no alert. The notification manager can then make notification decisions about whether to alert a user to a notification, and if so, the nature of the summarization and the best device or devices to employ for relaying the notification. Such a particular embodiment is described in the cofiled, copending and coassigned case entitled “Decision-Theoretic Principles and Policies for Notification.” [attorney docket no. 1018.101US3] In general, themanager 204 determines the net expected value of a notification. In doing so, it can consider the following: -
- the fidelity and transmission reliability of each available notification sink;
- the attentional cost of disturbing the user;
- the novelty of the information to the user;
- the time until the user will review the information on his or her own;
- the potentially context-sensitive value of the information; and,
- the increasing and/or decreasing value over time of the information contained within the notification.
- The inferences made about uncertainties thus may be generated as expected likelihoods of values such as the cost of disruption to the user with the use of a particular mode of a particular device given some attentional state of the user, etc. The
notification manager 204 makes decisions as to one or more of the following: -
- what the user is currently attending to and doing (based on, for example, contextual information);
- where the user currently is;
- how important the information is;
- what is the cost of deferring the notification;
- how distracting would a notification be;
- what is the likelihood of getting through to the user; and, what is the fidelity loss associated with the use of a specific mode of a given notification sink.
Therefore, ultimately, thenotification manager 204 performs an analysis, such as a decision-theoretic analysis, of pending and active notifications, evaluates context-dependent variables provided by information sinks and sources, and infers key uncertainties, such as the time until a user is likely to review provided information and the user's location and current attentional state.
- As used herein, inference refers generally to the process of reasoning about or inferring states of the system, environment, or user from a set of observations as captured via events and/or data. Inference can be used to identify a specific context or action, or can be employed to generate a probability distribution over states. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques used for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- Furthermore, in one embodiment, the
notification manager 204 accesses information stored in a user profile by theuser mechanism 202 in lieu of or to support a personalized decision-theoretic analysis. For example, the user profile may indicate that at a given time, the user prefers to be notified via a pager, and only if the notification has a predetermined importance level. Such information can be used as a baseline from which to start a decision-theoretic analysis, or can be the only manner by which themanager 204 determines how and whether to notify the user. - In one embodiment of the invention, the notification platform architecture is constructed as a layer that resides over an eventing or messaging infrastructure. However, the invention is not limited to any particular eventing infrastructure. Such eventing and messaging systems and protocols include:
-
- HyperText Transport Protocol (HTTP), or HTTP extensions as known within the art;
- Simple Object Access Protocol (SOAP), as known within the art; Windows Management Instrumentation (WMI), as known within the art;
- Jini, as known within the art; and,
- any type of communications protocols, such as those based on packet-switching protocols, etc.
Furthermore, in one embodiment, the architecture is constructed as a layer that resides over a flexible distributed computational infrastructure, as can be appreciated by those of ordinary skill within the art. Thus, the notification platform architecture can utilize an underlying infrastructure as a manner by which sources send notifications, alerts and events, as a manner by which sinks receive notifications, alerts and events, etc. The invention is not so limited, however.
- In the following sections of the detailed description, the
user mechanism 202, the notification sources 206, and the notification sinks 208 are each described in more detail, according to varying embodiments of the invention. Thereafter, a method of the manner by which the architecture operates according to an embodiment of the invention is presented. - User Mechanism
- In this section of the detailed description, the user mechanism of the notification architecture described in the previous section of the detailed description is described in more detail, in conjunction with
FIG. 3 , which is a diagram 300 showing theuser mechanism 202 ofFIG. 2 in more detail. Theuser mechanism 202 as shown inFIG. 3 includes a usernotification preferences store 302, auser context module 304 that includes a usercontext profile store 305, and awhiteboard 307. Theuser mechanism 202 is in one embodiment implemented as one or more computer programs executable by a processor of a computer from a machine-readable medium thereof, such as a memory. - The
store 302 stores notification parameters for a user, such as the default notification preferences for the user, as a user profile, which can then be edited and modified by the user. Thestore 302 can be considered as that which stores information on parameters that influence how a user is to be notified. Theuser context module 304 determines a user's current context, based on thecontext information sources 306 as published to thewhiteboard 307; the usercontext profile store 305 stores the context parameters for a user, such as the default context settings for the user, which can be edited and modified by the user. That is, theuser context module 304 provides a best guess about current context information by accessing information from thestore 305 and/or updating the prior set of beliefs in thestore 305 with live sensing, via one or more context sources 306. The store 365 can be considered as that which stores a priori where a user is, and what the user is doing. Themodule 304 is in one embodiment implemented as a computer program executable by a processor of a computer from a machine-readable medium thereof, such as a memory. - The user
context profile store 305 is a pre-assessed or predefined user profile that captures such information as a deterministic or probabilistic profile. The profile can be of typical locations, activities, device availabilities, and costs and values of different classes of notification as a function of such observations as time of day, type of day, and user interactions with one or more devices. The type of day can include weekdays, weekends, holidays, etc. Theuser context module 304 can then actively determine or infer key aspects of the context of the user, such as the user's current or future location and attentional state. Furthermore, the actual states of context can be accessed directly from thesources 306 via thewhiteboard 307, or, can be inferred from a variety of such observations through inferential methods such as Bayesian reasoning as known within the art. - The
context information sources 306 provide information to themodule 304 via thewhiteboard 307 regarding the user's attentional state and location, from which themodule 304 can make a determination as to the user's current context (that is, the user's current attentional state and location). Furthermore, the invention is not limited to a particular number or type ofcontext sources 306, nor the type of information inferred or accessed by the user context module. However, in one embodiment, thecontext sources 306 include multiple desktop information and events, such as mouse information, keyboard information, application information (e.g., which application is currently receiving the focus of the user), ambient sound and utterance information, text information in the windows on the desktop, etc. Thewhiteboard 307 is in one embodiment a common storage area, to which thecontext information sources 306 can publish information, and from which multiple components, including sources and themodule 304 can access this information; it is not necessary for implementation of the invention, however. An event, also referred to as a notification or alert, can in one embodiment generally include information about an observation about one or more states of the world. Such states can include the status of system components, the activity of a user, or a measurement about the environment. Furthermore, events can be generated by an active polling of a measuring device or source of events, by the receipt of information that is sent on a change, or per a constant or varying event heartbeat. - Other types of
context sources 306 include personal-information manager (PIM) information of the user, which usually can provide scheduling information regarding the schedule of the user, etc. The current time of day, as well as the user's location—for example, determined by a global positioning system (GPS), or a user's use of a cell phone, PDA, or a laptop that can be locationally determined—are also types of context sources 306. Furthermore, real-time mobile device usage is a type ofcontext source 306. For example, a mobile device such as a cell phone may be able to determine if it is currently being used by the user, as well as its orientation and tilt (indicating information regarding its usage as well), and acceleration and speed (indicating information as to whether the user is moving or not). - Notification Sources
- In this section of the detailed description, the notification sources 206 of the
architecture 200 ofFIG. 2 are described in more detail. The notification sources generally generate notifications that are conveyed to the notification manager, which determines when notifications should occur, and, if so, which of the notifications should be conveyed to which of the notification sinks and in what order, as has also been already described. - In one embodiment, each notification source has identified with it one or more of the following parameters within a standard description of key attributes and relationships, referred to herein as a notification source schema or source schema. It is noted that schema are provided for sources, for sinks, and for context-information sources. Such schemas provide declarative information about different component and provide a mechanism for the sources, the notification manager, the sinks, and the user mechanism (including the context mechanism described in the previous section of the detailed description) to share semantic information with one another. Thus, different schemas provide information about the nature, urgency, and device signaling modalities associated with notification. That is, schema can be defined generally as a collection of classes and relationships among classes that defines the structure of notifications and events, containing information including event or notification class, source, target, event or notification semantics, ontological content information, observational reliability, and any quality-of-service attributes.
- The parameters for each notification source schema include one or more of: message class; relevance; importance; time criticality; novelty; content attributes; and fidelity tradeoffs, and source information summary information. The message class for a notification generated by a notification source indicates the type of communication of the notification, such as e-mail, instant message, numerical financial update, desktop service, etc. The relevance for a notification generated by a notification sources indicates a likelihood that the information contained within the notification is relevant, for one or more specified contexts. In one embodiment, the relevance is a logical flag, indicating whether the source is relevant for a given context or not. The novelty of the notification indicates the likelihood that the user already knows the information contained within the notification. That is, the novelty is whether the information is new to the user, over time (indicating if the user knows the information now, and when, if ever, the user will learn the information in the future without being alerted to it).
- Fidelity tradeoffs associated with the notification indicate the loss of value of the information within the notification that can result from different forms of specified allowed truncation, summarization, etc. Such truncation and/or summarization may be required for the notification to be conveyed to certain types of notification sinks that may have bandwidth or other limitations preventing them from receiving the full notification as originally generated. Fidelity in general refers to the nature and/or degree of completeness of the original content associated with a notification. For example, a long e-mail message may be truncated, or otherwise summarized to the maximum of 100 characters allowed by a cell phone, incurring a loss of fidelity. Likewise, an original message containing text and graphics content suffers a loss in fidelity when transmitted via a device that only has text capabilities. In addition, a device may only be able to show a portion of the full resolution available from the source. Fidelity tradeoffs refer to a set of fidelity preferences of a source stated either in terms of orderings (e.g., rendering importance in order of graphics first, then sound) and/or costs functions that indicate how the total value of the content of the notification diminishes with changes in fidelity. For example, a fidelity tradeoff might describe how the full value associated with the transmission of a complete e-mail message changes with increasingly greater amounts of truncation. Content attributes contain a summary of the nature of the content, representing such information as whether the core message includes text, graphics, and audio components. The content itself is the actual graphics, text, and/or audio that make up the message content of the notification.
- The importance of a notification refers to the value of the information contained in the notification to the user, assuming the information is relevant in the current context. In one embodiment, it is expressed as a dollar value of the information's worth to the user. Time criticality indicates the time-dependent change in the value of the information contained in the notification—that is, how the value of the information changes over time. In most but not all cases, the value of the information of a notification decays with time. This is particularly shown in the diagram 400 of
FIG. 4 . Thegraph 402 shows the utility of a notification mapped over time. At thepoint 404 within the graph, representing the initial time, the importance of the notification is indicated, while thecurve 406 indicates the decay of the utility over time. - Default attributes and schema templates for different notification sources or source types may be made available in notification source profiles stored in the user notification preferences store, such as the
store 302 ofFIG. 3 as described in the previous section. Such default templates can be directed to overrule values provided by notification sources or to provide attributes when they are missing from schema provided by sources. Source summary information allows a source to post general summaries of the status of information and potential notifications available from a source. For example, source summary information from a messaging source might include information about the total number of unread messages that are at least some priority, the status of attempts by people to communicate with a user, etc. - Notification Sinks
- In this section of the detailed description, the notification sinks 208 of the
architecture 200 ofFIG. 2 are described in more detail. The notification sinks are devices, etc., by which the user can be notified of information contained in notifications. The choice as to which sink or sinks are to be used to convey a particular notification is determined by the notification manager. - In one embodiment, each notification sink has identified with it one or more of the following parameters within a schema: device class; modes of signaling (alerting); and, for each mode, fidelity/rendering capabilities, transmission reliability, actual cost of communication, and attentional cost of disruption. For devices that allow for the parameterized control of alerting attributes, the schema for the devices can additionally include a description of the alerting attributes and parameters for controlling the attributes, and functions by which other attributes (e.g., transmission reliability, cost of distribution, etc.) change with the different settings of the alerting attributes. The schema for notification sinks provides for the manner by which the notification devices communicate semantic information about their nature and capabilities with the notification manager and other components of the system. Default attributes and schema templates for different device types can be made available in device profiles stored in the user notification preferences store, such as the
store 302 ofFIG. 3 as described in the previous section. Such default templates can be directed to overrule values provided by devices or to provide attributes when they are missing from schema provided by devices. - Each of the schema parameters is now described in term. The class of the device refers to the type of the device: a cell phone, a desktop computer, a laptop computer, etc. The class can also be more general, such as a mobile device, a stationery device, etc. The modes of signaling refer to the different ways in which a given device can alert the user about a notification. Devices may have one or more notification modes. For example, a cell phone can only vibrate, only ring with some volume, or it can both vibrate and ring. Furthermore, a desktop display for an alerting system can in one embodiment be decomposed into several discrete modes (e.g., a small notification window in the upper right hand of the display vs. a small thumbnail at the top of the screen—with or without an audio herald), as described in the cofiled, copending and coassigned application entitled “Display and Human-Computer Interaction for a Notification Platform.” [attorney docket no. 1018.101US2] Beyond being limited to a set of predefined behaviors, a device can allow for modes with alerting attributes that are functions of parameters, as part of its definition. Such continuous alerting parameters for a mode represent such controls as the volume at which an alert is played at the desktop, rings on a cell phone, the size of an alerting window, etc.
- The transmission reliability for a mode of a notification sink indicates the likelihood that the user will receive the communicated alert about a notification, which is conveyed to the user via the sink with that mode. As transmission reliability may be dependent on the device availability and context of the user, the transmission reliability of different modes of a device can be conditioned on such contextual attributes as the location and attention of a user. Transmission reliability for each of one or more unique contextual states, defined by the cross product of such attributes as unique locations and unique attentional states, defined as disjunctions created as abstractions of such attributes (e.g., for any location away from the home, and any time period after 8 am and before noon), can also be specified. For example, depending on where the user currently is, information transmitted to a cell phone may not always reach the user, particularly if the user is in a region with intermittent coverage, or where the user would not tend to have a cell phone in this location (e.g., family holiday). Contexts can also influence transmission reliability because of the ambient noise or other masking or distracting properties of the context.
- The actual cost of communication indicates the actual cost of communicating the information to the user when contained within a notification that is conveyed to the sink. For example, this cost can include the fees associated with a cell phone transmission. The cost of disruption includes the attentional costs associated with the disruption associated with the alert employed by the particular mode of a device, in a particular context. Attentional costs are typically sensitive to the specific focus of attention of the user. The fidelity/rendering capability is a description of the text, graphics, and audio/tactile capabilities of a device, also given a mode. For example, a cell phone's text limit may be 100 characters for any single message, and the phone may have no graphics abilities.
- Methods
- In this section of the detailed description, methods according to varying embodiments of the invention are shown. The methods can in some embodiments be computer-implemented. A computer-implemented method is desirably realized at least in part as one or more programs running on a computer—that is, as a program executed from a computer-readable medium such as a memory by a processor of a computer. The programs are desirably storable on a machine-readable medium such as a floppy disk or a CD-ROM, for distribution and installation and execution on another computer. The program or programs can be a part of a computer system or a computer, such as that described in conjunction with
FIG. 1 in a previous section of the detailed description. The invention is not so limited, however. - Referring to
FIG. 5 , a flowchart of amethod 500 is shown. In one embodiment, themethod 500 can be executed by thenotification architecture 200 ofFIG. 2 , which has been already described. In 502, one or more notification sources generate notifications, which are received by a notification manager. In 504, the user mechanism generates context information regarding the user, which in 506 is received by the notification manager. That is, in one embodiment, in 504, the user mechanism accesses a user contextual information profile that indicates the user's current attentional status and location, and/or assesses real-time information regarding the user's current attentional status and location from one or more contextual information sources, as has been described in the previous sections of the detailed description. - In 508, the notification manager determines which of the notifications to convey to which of the notification sinks, based in part on the context information received from the user mechanism. The notification also makes it determination based on information regarding notification parameters of the user as stored by the user mechanism, in one embodiment. That is, in one embodiment, in 508, the manager performs a decision-theoretic analysis as to whether a user should be alerted for a given notification, and how the user should be notified. Notification parameters regarding the user can be utilized to personalize the analysis by filling in missing values or by overwriting parameters provided in the schema of sources or sinks. Notification preferences can also provide policies that are employed in lieu of the decision-theoretic analysis, as has been described in the previous sections of the detailed description. Based on this determination, the notification manager conveys the notifications to the sinks in 510.
- Application of the Invention to Entities Other than Users
- Embodiments of the invention have been described herein thus far as applicable to users. However, the invention itself is not so limited. That is, the invention is applicable to any type of entity, including users. Other types of entities include agents, processes, computer programs, threads, services, servers, computers, machines, companies, organizations, businesses, etc. The agent, for example, may be a software agent, which can be generally defined as a computer program that performs a background task for a user and reports to the user when the task is done or some expected event has taken place. Still other types of entities are encompassed under the invention, as can be appreciated by those of ordinary skill within the art.
- Thus, where embodiments of the invention have been particularly described in relation to a user, the invention itself is applicable to any type of entity. For example, the user mechanism of a system according to an embodiment of the invention can be generalized as a mechanism, applicable to any type of entity. As another example, notification sinks can generate notifications, alerts and events regarding and for entities other than users. Similarly, notification sinks can receive notifications, alerts and events regarding and for entities other than users.
- It is noted that, although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and equivalents thereof.
Claims (20)
1. A computerized system comprising:
a mechanism designed to access and store information regarding context information and notification parameters, the notification parameters including at least one of: an automatically inferred time criticality parameter indicating time-dependent decay of the value of information contained in a notification, an automatically inferred novelty parameter that indicates whether a notification is new to a user, and an automatically inferred fidelity parameter that indicates a loss of value of a notification due to truncation and/or summarization of the information;
at least one notification source, each source designed to generate notifications;
at least one notification sink, each sink designed to receive the notifications; and,
a notification manager designed to convey the notifications generated by the at least one notification source to the at least one notification sink based on the information stored in the mechanism.
2. The system of claim 1 , wherein the context information and notification parameters are for an entity.
3. The system of claim 2 , wherein the entity comprises one of a user, an agent, a process, a server, a computer, a machine, a company, an organization; a business, a computer program, a service, and a thread.
4. The system of claim 1 , wherein the notifications generated by the at least one notification source are intended for an entity.
5. The system of claim 1 , wherein the notifications received by the at least one sink are to be provided to an entity.
6. The system of claim 1 , wherein the mechanism comprises a notification parameters store storing default notification preferences for an entity as a profile.
7. The system of claim 1 , wherein the mechanism comprises a user mechanism.
8. The system of claim 7 , wherein the user mechanism comprises a user context mechanism designed to determine a current context of the user, based on at least one context source.
9. The system of claim 8 , wherein the at least one context source comprises one or more of: visual information of the user, desktop information of the user, personal-information manager (PIM) information of the user, current time and day, mobile device usage of the user, and location of the user.
10. The system of claim 8 , wherein the context mechanism is more specifically designed to determine the current context based on the at least one context source by utilizing one or more of: a statistical model, a profile, direct access of user location and activity, and real-time user specification of user state.
11. The system of claim 1 , wherein the at least one notification source comprises at least one of:
a pull-type notification source; and
a push-type notification source.
12. The system of claim 1 , wherein each notification source has parameters associated with it representing at least one of:
a message class of a current notification generated by the notification source indicating a type of communication of the current notification;
a relevance of the current notification indicating a likelihood of the relevance of information contained in the current notification; and
an importance of a current notification generated by the notification source indicating value of information contained in the current notification.
13. The system of claim 1 , wherein each notification sink has parameters associated with it representing at least one of
a device class of the notification sink
a type of device that the notification sink is;
a transmission reliability of the notification sink indicating a likelihood that an entity will receive information contained within a notification conveyed to the notification sink;
a cost of communication of the notification sink indicating a communication cost incurred by the entity when receiving information contained within a notification conveyed to the notification sink; and,
a cost of disruption of the notification sink indicating a disruption cost incurred by the entity when receiving information contained within a notification conveyed to the notification sink.
14. A computerized system comprising:
a user mechanism designed to store information regarding notification parameters, and comprising:
a user notification parameters store designed to store default notification preferences for a user and notification parameters including at least one of: an automatically inferred time criticality parameter indicating time-dependent decay of the value of information contained in a notification, an automatically inferred novelty parameter that indicates whether a user already knows the information in a notification, and an automatically inferred fidelity parameter that indicates a loss of value of a notification due to truncation of the information;
a user context mechanism designed to determine a current context of the user, based on at least one context source;
at least one notification source, each source designed to generate notifications intended for the user;
at least one notification sink, each sink designed to provide the notifications to the user; and,
a notification manager designed to convey the notifications generated by the at least one notification source to the at least one notification sink based on the information stored in the user mechanism by performing a decision-theoretic analysis.
15. The system of claim 14 , wherein the user context mechanism is more specifically designed to determine the current context based on the at least one context source by utilizing one or more of: a statistical model, a user profile, direct access of user location and activity, and real-tune user specification of user state.
16. The system of claim 14 , wherein each notification source has parameters associated with it representing at least one of:
an importance of a current notification generated by the notification source indicating value of information contained in the current notification to the user;
a message class of a current notification generated by the notification source indicating a type of communication of the current notification;
a relevance of the current notification indicating a likelihood of the relevance of information contained in the current notification to the user.
17. The system of claim 14 , wherein the at least one notification source comprises at least one of a pull-type notification source, and a push-type notification source.
18. The system of claim 14 , wherein each notification sink has parameters associated with it representing at least one of:
a device class of the notification sink indicating a type of device that the notification is;
a transmission reliability of the notification sink indicating a likelihood that the user will receive information contained within a notification conveyed to the notification sink;
a cost of communication of the notification sink indicating a communication cost incurred by the user when receiving information contained within a notification conveyed to the notification sink; and,
a cost of disruption of the notification sink indicating a disruption cost incurred by the user when receiving information contained within a notification conveyed to the 10 notification sink.
19. A computer-implemented method comprising:
generating one or more notifications intended for a user by one or more notification sources;
receiving the one or more notifications by a notification manager;
generating contextual information by a user mechanism, the mechanism also storing information regarding notification parameters of the user, the notification parameters including at least one of: an automatically inferred time criticality parameter indicating time-dependent value of information contained in a notification, an automatically inferred novelty parameter that indicates whether a user is already aware of the contents a notification, and an automatically inferred fidelity parameter that indicates a loss of value of a notification due to summarization of the information;
receiving the contextual information by the notification manager;
determining which of the notifications to convey to which of one or more notification sinks by the notification manager, based on at least one or more of the contextual information and the information regarding the notification parameters of the user; and,
conveying the which of the notifications to the which of the one or more notification sinks by the notification manager.
20. The method of claim 19 , wherein generating the contextual information comprises generating the contextual information by a user context mechanism of the user mechanism.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/469,058 US20070011314A1 (en) | 2000-03-16 | 2006-08-31 | Notification platform architecture |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18980100P | 2000-03-16 | 2000-03-16 | |
US09/596,635 US6847924B1 (en) | 2000-06-19 | 2000-06-19 | Method and system for aggregating data distribution models |
US11/469,058 US20070011314A1 (en) | 2000-03-16 | 2006-08-31 | Notification platform architecture |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/596,635 Continuation US6847924B1 (en) | 2000-03-16 | 2000-06-19 | Method and system for aggregating data distribution models |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070011314A1 true US20070011314A1 (en) | 2007-01-11 |
Family
ID=34062209
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/596,635 Expired - Lifetime US6847924B1 (en) | 2000-03-16 | 2000-06-19 | Method and system for aggregating data distribution models |
US11/469,058 Abandoned US20070011314A1 (en) | 2000-03-16 | 2006-08-31 | Notification platform architecture |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/596,635 Expired - Lifetime US6847924B1 (en) | 2000-03-16 | 2000-06-19 | Method and system for aggregating data distribution models |
Country Status (1)
Country | Link |
---|---|
US (2) | US6847924B1 (en) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087649A1 (en) * | 2000-03-16 | 2002-07-04 | Horvitz Eric J. | Bounded-deferral policies for reducing the disruptiveness of notifications |
US20020199010A1 (en) * | 2001-06-26 | 2002-12-26 | Ruse Andy L. | System, method and computer program for message delivery based on a trend analysis |
US20030046421A1 (en) * | 2000-12-12 | 2003-03-06 | Horvitz Eric J. | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US20040098462A1 (en) * | 2000-03-16 | 2004-05-20 | Horvitz Eric J. | Positioning and rendering notification heralds based on user's focus of attention and activity |
US20040143636A1 (en) * | 2001-03-16 | 2004-07-22 | Horvitz Eric J | Priorities generation and management |
US20060041583A1 (en) * | 1999-07-30 | 2006-02-23 | Microsoft Corporation | Methods for routing items for communications based on a measure of criticality |
US20070214228A1 (en) * | 2001-03-16 | 2007-09-13 | Microsoft Corporation | Notification platform architecture |
US20070271504A1 (en) * | 1999-07-30 | 2007-11-22 | Eric Horvitz | Method for automatically assigning priorities to documents and messages |
US20090006574A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | System and methods for disruption detection, management, and recovery |
US20090119385A1 (en) * | 1999-07-30 | 2009-05-07 | Microsoft Corporation | Integration of a computer-based message priority system with mobile electronic devices |
US20090187650A1 (en) * | 2008-01-17 | 2009-07-23 | Ezequiel Cervantes | Method and system for determining probability for availability in an instant message system |
US20090299934A1 (en) * | 2000-03-16 | 2009-12-03 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
USRE41991E1 (en) * | 2001-04-13 | 2010-12-07 | Cross Joseph K | System and method for managing and communicating state changes of a complex system |
US20110071964A1 (en) * | 2004-11-16 | 2011-03-24 | Microsoft Corporation | Building and using predictive models of current and future surprises |
US20130144938A1 (en) * | 2000-03-17 | 2013-06-06 | Facebook, Inc. | State change alerts mechanism |
US8589495B1 (en) * | 2009-01-13 | 2013-11-19 | Adobe Systems Incorporated | Context-based notification delivery |
US20140324972A1 (en) * | 2013-04-28 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Method, Server, User Terminal, and System For Pushing Notification Message |
US9148398B2 (en) | 2013-03-13 | 2015-09-29 | Google Inc. | Prioritized and contextual display of aggregated account notifications |
US9203794B2 (en) | 2002-11-18 | 2015-12-01 | Facebook, Inc. | Systems and methods for reconfiguring electronic messages |
US9386102B2 (en) | 2010-11-04 | 2016-07-05 | Panasonic Intellectual Property Corporation Of America | Gateway apparatus, communication apparatus, apparatus co-operation network system, and apparatus co-operation method |
US9501337B2 (en) | 2008-04-24 | 2016-11-22 | Adobe Systems Incorporated | Systems and methods for collecting and distributing a plurality of notifications |
US9589254B2 (en) | 2010-12-08 | 2017-03-07 | Microsoft Technology Licensing, Llc | Using e-mail message characteristics for prioritization |
US9754240B2 (en) * | 2009-11-20 | 2017-09-05 | Palo Alto Research Center Incorporated | Method for quickly recovering from task interruption |
US9871756B1 (en) * | 2014-02-13 | 2018-01-16 | Google Inc. | Methods for displaying notifications |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080027687A1 (en) * | 2006-07-28 | 2008-01-31 | Ncr Corporation | Process sequence modeling using histogram analytics |
US8539426B2 (en) * | 2011-02-22 | 2013-09-17 | International Business Machines Corporation | Method and system for extracting compact models for circuit simulation |
US20130218908A1 (en) * | 2012-02-17 | 2013-08-22 | International Business Machines Corporation | Computing and applying order statistics for data preparation |
CN110175323B (en) * | 2018-05-31 | 2022-05-13 | 腾讯科技(深圳)有限公司 | Method and device for generating message abstract |
Citations (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4789962A (en) * | 1984-10-31 | 1988-12-06 | International Business Machines Corporation | Methods of displaying help information nearest to an operation point at which the help information is requested |
US5377354A (en) * | 1989-08-15 | 1994-12-27 | Digital Equipment Corporation | Method and system for sorting and prioritizing electronic mail messages |
US5423043A (en) * | 1994-01-21 | 1995-06-06 | International Business Machines Corporation | Method and apparatus for creating and monitoring logical associations among desktop objects |
US5471399A (en) * | 1991-08-28 | 1995-11-28 | Hitachi, Ltd. | Network management system and network status display method |
US5493692A (en) * | 1993-12-03 | 1996-02-20 | Xerox Corporation | Selective delivery of electronic messages in a multiple computer system based on context and environment of a user |
US5508817A (en) * | 1992-03-19 | 1996-04-16 | Fujitsu Limited | Electronic mail accounting system |
US5544321A (en) * | 1993-12-03 | 1996-08-06 | Xerox Corporation | System for granting ownership of device by user based on requested level of ownership, present state of the device, and the context of the device |
US5555346A (en) * | 1991-10-04 | 1996-09-10 | Beyond Corporated | Event-driven rule-based messaging system |
US5615325A (en) * | 1994-09-29 | 1997-03-25 | Intel Corporation | Graphical viewer for heirarchical datasets |
US5742905A (en) * | 1994-09-19 | 1998-04-21 | Bell Communications Research, Inc. | Personal communications internetworking |
US5751965A (en) * | 1996-03-21 | 1998-05-12 | Cabletron System, Inc. | Network connection status monitor and display |
US5757916A (en) * | 1995-10-06 | 1998-05-26 | International Series Research, Inc. | Method and apparatus for authenticating the location of remote users of networked computing systems |
US5757852A (en) * | 1997-01-24 | 1998-05-26 | Western Atlas International, Inc. | Method for compression of high resolution seismic data |
US5767852A (en) * | 1996-06-12 | 1998-06-16 | International Business Machines Corporation | Priority selection on a graphical interface |
US5812865A (en) * | 1993-12-03 | 1998-09-22 | Xerox Corporation | Specifying and establishing communication data paths between particular media devices in multiple media device computing systems based on context of a user or users |
US5831545A (en) * | 1995-08-25 | 1998-11-03 | Motorola, Inc. | Method and apparatus for adjusting a communication strategy in a radio communication system using location |
US5928330A (en) * | 1996-09-06 | 1999-07-27 | Motorola, Inc. | System, device, and method for streaming a multimedia file |
US5973612A (en) * | 1996-09-19 | 1999-10-26 | Microsoft Corporation | Flexible object notification |
US5987234A (en) * | 1991-03-14 | 1999-11-16 | Hitachi, Ltd | Console apparatus for information processing system |
US6055505A (en) * | 1997-12-30 | 2000-04-25 | U S West, Inc. | Automatic customer notification system and method |
US6057842A (en) * | 1997-03-10 | 2000-05-02 | Quickbuy, Inc. | Display layout generator for graphical representations |
US6067477A (en) * | 1998-01-15 | 2000-05-23 | Eutech Cybernetics Pte Ltd. | Method and apparatus for the creation of personalized supervisory and control data acquisition systems for the management and integration of real-time enterprise-wide applications and systems |
US6078568A (en) * | 1997-02-25 | 2000-06-20 | Telefonaktiebolaget Lm Ericsson | Multiple access communication network with dynamic access control |
US6078322A (en) * | 1997-09-30 | 2000-06-20 | The United States Of America As Represented By The Secretary Of The Navy | Methods permitting rapid generation of platform independent software applications executed on a universal client device |
US6094681A (en) * | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
US6101531A (en) * | 1995-12-19 | 2000-08-08 | Motorola, Inc. | System for communicating user-selected criteria filter prepared at wireless client to communication server for filtering data transferred from host to said wireless client |
US6167448A (en) * | 1998-06-11 | 2000-12-26 | Compaq Computer Corporation | Management event notification system using event notification messages written using a markup language |
US6199106B1 (en) * | 1996-04-19 | 2001-03-06 | Juno Online Services, Inc. | Electronic mail system with advertising |
US6256664B1 (en) * | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US6262730B1 (en) * | 1996-07-19 | 2001-07-17 | Microsoft Corp | Intelligent user assistance facility |
US6289380B1 (en) * | 1996-07-18 | 2001-09-11 | Computer Associates Think, Inc. | Network management system using virtual reality techniques to display and simulate navigation to network components |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
US20010030664A1 (en) * | 1999-08-16 | 2001-10-18 | Shulman Leo A. | Method and apparatus for configuring icon interactivity |
US20010030667A1 (en) * | 2000-04-10 | 2001-10-18 | Kelts Brett R. | Interactive display interface for information objects |
US20010040590A1 (en) * | 1998-12-18 | 2001-11-15 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20010040591A1 (en) * | 1998-12-18 | 2001-11-15 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20010043232A1 (en) * | 1998-12-18 | 2001-11-22 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20010049275A1 (en) * | 2000-02-14 | 2001-12-06 | Pierry Cristiano L. S. | Automated alert state change of user devices for time-based and location-based events |
US6332127B1 (en) * | 1999-01-28 | 2001-12-18 | International Business Machines Corporation | Systems, methods and computer program products for providing time and location specific advertising via the internet |
US6337699B1 (en) * | 1996-06-27 | 2002-01-08 | Sun Microsystems, Inc. | Visualizing degrees of information object attributes |
US6353398B1 (en) * | 1999-10-22 | 2002-03-05 | Himanshu S. Amin | System for dynamically pushing information to a user utilizing global positioning system |
US20020032689A1 (en) * | 1999-12-15 | 2002-03-14 | Abbott Kenneth H. | Storing and recalling information to augment human memories |
US6360101B1 (en) * | 1998-12-31 | 2002-03-19 | Ericsson Inc. | Cellular phone that displays or sends messages upon its arrival at a predetermined location |
US6374289B2 (en) * | 1998-10-05 | 2002-04-16 | Backweb Technologies, Ltd. | Distributed client-based data caching system |
US20020044152A1 (en) * | 2000-10-16 | 2002-04-18 | Abbott Kenneth H. | Dynamic integration of computer generated and real world images |
US20020052930A1 (en) * | 1998-12-18 | 2002-05-02 | Abbott Kenneth H. | Managing interactions between computer users' context models |
US20020054117A1 (en) * | 2000-03-16 | 2002-05-09 | Van Dantzich Maarten R. | Scope user interface for displaying the priorities and properties of multiple informational items |
US20020054174A1 (en) * | 1998-12-18 | 2002-05-09 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20020054130A1 (en) * | 2000-10-16 | 2002-05-09 | Abbott Kenneth H. | Dynamically displaying current status of tasks |
US6400810B1 (en) * | 1999-07-20 | 2002-06-04 | Ameritech Corporation | Method and system for selective notification of E-mail messages |
US20020078204A1 (en) * | 1998-12-18 | 2002-06-20 | Dan Newell | Method and system for controlling presentation of information to a user based on the user's condition |
US20020083025A1 (en) * | 1998-12-18 | 2002-06-27 | Robarts James O. | Contextual responses based on automated learning techniques |
US20020080155A1 (en) * | 1998-12-18 | 2002-06-27 | Abbott Kenneth H. | Supplying notifications related to supply and consumption of user context data |
US6463462B1 (en) * | 1999-02-02 | 2002-10-08 | Dialogic Communications Corporation | Automated system and method for delivery of messages and processing of message responses |
US6463471B1 (en) * | 1998-12-28 | 2002-10-08 | Intel Corporation | Method and system for validating and distributing network presence information for peers of interest |
US20020171581A1 (en) * | 1998-04-28 | 2002-11-21 | Leonid Sheynblat | Method and apparatus for providing location-based information via a computer network |
US6499021B1 (en) * | 1999-05-25 | 2002-12-24 | Suhayya Abu-Hakima | Apparatus and method for interpreting and intelligently managing electronic messages |
US20030046421A1 (en) * | 2000-12-12 | 2003-03-06 | Horvitz Eric J. | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US20030046351A1 (en) * | 2001-09-05 | 2003-03-06 | Mitsubishi Denki Kabushiki Kaisha | Document management system |
US6542868B1 (en) * | 1999-09-23 | 2003-04-01 | International Business Machines Corporation | Audio notification management system |
US6672506B2 (en) * | 1996-01-25 | 2004-01-06 | Symbol Technologies, Inc. | Statistical sampling security methodology for self-scanning checkout system |
US6674720B1 (en) * | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US6678719B1 (en) * | 1999-12-20 | 2004-01-13 | Mediaone Group, Inc. | Virtual workplace intercommunication tool |
US6697840B1 (en) * | 2000-02-29 | 2004-02-24 | Lucent Technologies Inc. | Presence awareness in collaborative systems |
US20040098462A1 (en) * | 2000-03-16 | 2004-05-20 | Horvitz Eric J. | Positioning and rendering notification heralds based on user's focus of attention and activity |
US20040117443A1 (en) * | 2000-01-13 | 2004-06-17 | International Business Machines Corporation | Method and apparatus for managing instant messaging |
US6757362B1 (en) * | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
US20040143636A1 (en) * | 2001-03-16 | 2004-07-22 | Horvitz Eric J | Priorities generation and management |
USD494584S1 (en) * | 2002-12-05 | 2004-08-17 | Symbol Technologies, Inc. | Mobile companion |
US6781972B1 (en) * | 2000-03-31 | 2004-08-24 | Lucent Technologies Inc. | Method and system for subscriber-configurable communications service |
US6796505B2 (en) * | 1997-08-08 | 2004-09-28 | Symbol Technologies, Inc. | Terminal locking system |
US20040199663A1 (en) * | 2000-03-16 | 2004-10-07 | Horvitz Eric J. | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US6837436B2 (en) * | 1996-09-05 | 2005-01-04 | Symbol Technologies, Inc. | Consumer interactive shopping system |
US6853634B1 (en) * | 1999-12-14 | 2005-02-08 | Nortel Networks Limited | Anonymity in a presence management system |
US7010501B1 (en) * | 1998-05-29 | 2006-03-07 | Symbol Technologies, Inc. | Personal shopping system |
US7040541B2 (en) * | 1996-09-05 | 2006-05-09 | Symbol Technologies, Inc. | Portable shopping and order fulfillment system |
US7139718B2 (en) * | 1997-03-24 | 2006-11-21 | Canon Kabushiki Kaisha | Notification apparatus and method therefor |
US7155729B1 (en) * | 2000-03-28 | 2006-12-26 | Microsoft Corporation | Method and system for displaying transient notifications |
US7162238B1 (en) * | 1999-12-30 | 2007-01-09 | Massie Rodney E | System and method of querying a device, checking device roaming history and/or obtaining device modem statistics when device is within a home network and/or a complementary network |
US7171378B2 (en) * | 1998-05-29 | 2007-01-30 | Symbol Technologies, Inc. | Portable electronic terminal and data processing system |
US7249159B1 (en) * | 2000-03-16 | 2007-07-24 | Microsoft Corporation | Notification platform architecture |
US20070214228A1 (en) * | 2001-03-16 | 2007-09-13 | Microsoft Corporation | Notification platform architecture |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263337B1 (en) * | 1998-03-17 | 2001-07-17 | Microsoft Corporation | Scalable system for expectation maximization clustering of large databases |
US6397166B1 (en) * | 1998-11-06 | 2002-05-28 | International Business Machines Corporation | Method and system for model-based clustering and signal-bearing medium for storing program of same |
-
2000
- 2000-06-19 US US09/596,635 patent/US6847924B1/en not_active Expired - Lifetime
-
2006
- 2006-08-31 US US11/469,058 patent/US20070011314A1/en not_active Abandoned
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4789962A (en) * | 1984-10-31 | 1988-12-06 | International Business Machines Corporation | Methods of displaying help information nearest to an operation point at which the help information is requested |
US5377354A (en) * | 1989-08-15 | 1994-12-27 | Digital Equipment Corporation | Method and system for sorting and prioritizing electronic mail messages |
US5987234A (en) * | 1991-03-14 | 1999-11-16 | Hitachi, Ltd | Console apparatus for information processing system |
US5471399A (en) * | 1991-08-28 | 1995-11-28 | Hitachi, Ltd. | Network management system and network status display method |
US5555346A (en) * | 1991-10-04 | 1996-09-10 | Beyond Corporated | Event-driven rule-based messaging system |
US5508817A (en) * | 1992-03-19 | 1996-04-16 | Fujitsu Limited | Electronic mail accounting system |
US5493692A (en) * | 1993-12-03 | 1996-02-20 | Xerox Corporation | Selective delivery of electronic messages in a multiple computer system based on context and environment of a user |
US5555376A (en) * | 1993-12-03 | 1996-09-10 | Xerox Corporation | Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request |
US5603054A (en) * | 1993-12-03 | 1997-02-11 | Xerox Corporation | Method for triggering selected machine event when the triggering properties of the system are met and the triggering conditions of an identified user are perceived |
US5611050A (en) * | 1993-12-03 | 1997-03-11 | Xerox Corporation | Method for selectively performing event on computer controlled device whose location and allowable operation is consistent with the contextual and locational attributes of the event |
US5544321A (en) * | 1993-12-03 | 1996-08-06 | Xerox Corporation | System for granting ownership of device by user based on requested level of ownership, present state of the device, and the context of the device |
US5812865A (en) * | 1993-12-03 | 1998-09-22 | Xerox Corporation | Specifying and establishing communication data paths between particular media devices in multiple media device computing systems based on context of a user or users |
US5423043A (en) * | 1994-01-21 | 1995-06-06 | International Business Machines Corporation | Method and apparatus for creating and monitoring logical associations among desktop objects |
US5742905A (en) * | 1994-09-19 | 1998-04-21 | Bell Communications Research, Inc. | Personal communications internetworking |
US5615325A (en) * | 1994-09-29 | 1997-03-25 | Intel Corporation | Graphical viewer for heirarchical datasets |
US5831545A (en) * | 1995-08-25 | 1998-11-03 | Motorola, Inc. | Method and apparatus for adjusting a communication strategy in a radio communication system using location |
US5757916A (en) * | 1995-10-06 | 1998-05-26 | International Series Research, Inc. | Method and apparatus for authenticating the location of remote users of networked computing systems |
US6101531A (en) * | 1995-12-19 | 2000-08-08 | Motorola, Inc. | System for communicating user-selected criteria filter prepared at wireless client to communication server for filtering data transferred from host to said wireless client |
US6672506B2 (en) * | 1996-01-25 | 2004-01-06 | Symbol Technologies, Inc. | Statistical sampling security methodology for self-scanning checkout system |
US5751965A (en) * | 1996-03-21 | 1998-05-12 | Cabletron System, Inc. | Network connection status monitor and display |
US6199106B1 (en) * | 1996-04-19 | 2001-03-06 | Juno Online Services, Inc. | Electronic mail system with advertising |
US5767852A (en) * | 1996-06-12 | 1998-06-16 | International Business Machines Corporation | Priority selection on a graphical interface |
US6337699B1 (en) * | 1996-06-27 | 2002-01-08 | Sun Microsystems, Inc. | Visualizing degrees of information object attributes |
US6289380B1 (en) * | 1996-07-18 | 2001-09-11 | Computer Associates Think, Inc. | Network management system using virtual reality techniques to display and simulate navigation to network components |
US6262730B1 (en) * | 1996-07-19 | 2001-07-17 | Microsoft Corp | Intelligent user assistance facility |
US6837436B2 (en) * | 1996-09-05 | 2005-01-04 | Symbol Technologies, Inc. | Consumer interactive shopping system |
US7040541B2 (en) * | 1996-09-05 | 2006-05-09 | Symbol Technologies, Inc. | Portable shopping and order fulfillment system |
US7063263B2 (en) * | 1996-09-05 | 2006-06-20 | Symbol Technologies, Inc. | Consumer interactive shopping system |
US7195157B2 (en) * | 1996-09-05 | 2007-03-27 | Symbol Technologies, Inc. | Consumer interactive shopping system |
US5928330A (en) * | 1996-09-06 | 1999-07-27 | Motorola, Inc. | System, device, and method for streaming a multimedia file |
US5973612A (en) * | 1996-09-19 | 1999-10-26 | Microsoft Corporation | Flexible object notification |
US5757852A (en) * | 1997-01-24 | 1998-05-26 | Western Atlas International, Inc. | Method for compression of high resolution seismic data |
US6078568A (en) * | 1997-02-25 | 2000-06-20 | Telefonaktiebolaget Lm Ericsson | Multiple access communication network with dynamic access control |
US6057842A (en) * | 1997-03-10 | 2000-05-02 | Quickbuy, Inc. | Display layout generator for graphical representations |
US7139718B2 (en) * | 1997-03-24 | 2006-11-21 | Canon Kabushiki Kaisha | Notification apparatus and method therefor |
US6796505B2 (en) * | 1997-08-08 | 2004-09-28 | Symbol Technologies, Inc. | Terminal locking system |
US6078322A (en) * | 1997-09-30 | 2000-06-20 | The United States Of America As Represented By The Secretary Of The Navy | Methods permitting rapid generation of platform independent software applications executed on a universal client device |
US6055505A (en) * | 1997-12-30 | 2000-04-25 | U S West, Inc. | Automatic customer notification system and method |
US6067477A (en) * | 1998-01-15 | 2000-05-23 | Eutech Cybernetics Pte Ltd. | Method and apparatus for the creation of personalized supervisory and control data acquisition systems for the management and integration of real-time enterprise-wide applications and systems |
US6094681A (en) * | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
US20020171581A1 (en) * | 1998-04-28 | 2002-11-21 | Leonid Sheynblat | Method and apparatus for providing location-based information via a computer network |
US7010501B1 (en) * | 1998-05-29 | 2006-03-07 | Symbol Technologies, Inc. | Personal shopping system |
US7171378B2 (en) * | 1998-05-29 | 2007-01-30 | Symbol Technologies, Inc. | Portable electronic terminal and data processing system |
US6167448A (en) * | 1998-06-11 | 2000-12-26 | Compaq Computer Corporation | Management event notification system using event notification messages written using a markup language |
US6256664B1 (en) * | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US6374289B2 (en) * | 1998-10-05 | 2002-04-16 | Backweb Technologies, Ltd. | Distributed client-based data caching system |
US20020052930A1 (en) * | 1998-12-18 | 2002-05-02 | Abbott Kenneth H. | Managing interactions between computer users' context models |
US20010043231A1 (en) * | 1998-12-18 | 2001-11-22 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20010040590A1 (en) * | 1998-12-18 | 2001-11-15 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20010040591A1 (en) * | 1998-12-18 | 2001-11-15 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20020052963A1 (en) * | 1998-12-18 | 2002-05-02 | Abbott Kenneth H. | Managing interactions between computer users' context models |
US20010043232A1 (en) * | 1998-12-18 | 2001-11-22 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20020054174A1 (en) * | 1998-12-18 | 2002-05-09 | Abbott Kenneth H. | Thematic response to a computer user's context, such as by a wearable personal computer |
US20020080156A1 (en) * | 1998-12-18 | 2002-06-27 | Abbott Kenneth H. | Supplying notifications related to supply and consumption of user context data |
US20020080155A1 (en) * | 1998-12-18 | 2002-06-27 | Abbott Kenneth H. | Supplying notifications related to supply and consumption of user context data |
US20020078204A1 (en) * | 1998-12-18 | 2002-06-20 | Dan Newell | Method and system for controlling presentation of information to a user based on the user's condition |
US20020083025A1 (en) * | 1998-12-18 | 2002-06-27 | Robarts James O. | Contextual responses based on automated learning techniques |
US6463471B1 (en) * | 1998-12-28 | 2002-10-08 | Intel Corporation | Method and system for validating and distributing network presence information for peers of interest |
US6360101B1 (en) * | 1998-12-31 | 2002-03-19 | Ericsson Inc. | Cellular phone that displays or sends messages upon its arrival at a predetermined location |
US6332127B1 (en) * | 1999-01-28 | 2001-12-18 | International Business Machines Corporation | Systems, methods and computer program products for providing time and location specific advertising via the internet |
US6463462B1 (en) * | 1999-02-02 | 2002-10-08 | Dialogic Communications Corporation | Automated system and method for delivery of messages and processing of message responses |
US6499021B1 (en) * | 1999-05-25 | 2002-12-24 | Suhayya Abu-Hakima | Apparatus and method for interpreting and intelligently managing electronic messages |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
US6400810B1 (en) * | 1999-07-20 | 2002-06-04 | Ameritech Corporation | Method and system for selective notification of E-mail messages |
US20010030664A1 (en) * | 1999-08-16 | 2001-10-18 | Shulman Leo A. | Method and apparatus for configuring icon interactivity |
US6542868B1 (en) * | 1999-09-23 | 2003-04-01 | International Business Machines Corporation | Audio notification management system |
US6674720B1 (en) * | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US20040201500A1 (en) * | 1999-10-22 | 2004-10-14 | Miller John M. | System for dynamically pushing information to a user utilizing global positioning system |
US20060019676A1 (en) * | 1999-10-22 | 2006-01-26 | Miller John M | System for dynamically pushing information to a user utilizing global positioning system |
US6353398B1 (en) * | 1999-10-22 | 2002-03-05 | Himanshu S. Amin | System for dynamically pushing information to a user utilizing global positioning system |
US6741188B1 (en) * | 1999-10-22 | 2004-05-25 | John M. Miller | System for dynamically pushing information to a user utilizing global positioning system |
US20050272442A1 (en) * | 1999-10-22 | 2005-12-08 | Miller John M | System for dynamically pushing information to a user utilizing global positioning system |
US20050266858A1 (en) * | 1999-10-22 | 2005-12-01 | Miller John M | System for dynamically pushing information to a user utilizing global positioning system |
US20080091537A1 (en) * | 1999-10-22 | 2008-04-17 | Miller John M | Computer-implemented method for pushing targeted advertisements to a user |
US20080090591A1 (en) * | 1999-10-22 | 2008-04-17 | Miller John M | computer-implemented method to perform location-based searching |
US7385501B2 (en) * | 1999-10-22 | 2008-06-10 | Himanshu S. Amin | System for dynamically pushing information to a user utilizing global positioning system |
US20080161018A1 (en) * | 1999-10-22 | 2008-07-03 | Miller John M | System for dynamically pushing information to a user utilizing global positioning system |
US6853634B1 (en) * | 1999-12-14 | 2005-02-08 | Nortel Networks Limited | Anonymity in a presence management system |
US20020032689A1 (en) * | 1999-12-15 | 2002-03-14 | Abbott Kenneth H. | Storing and recalling information to augment human memories |
US6678719B1 (en) * | 1999-12-20 | 2004-01-13 | Mediaone Group, Inc. | Virtual workplace intercommunication tool |
US7162238B1 (en) * | 1999-12-30 | 2007-01-09 | Massie Rodney E | System and method of querying a device, checking device roaming history and/or obtaining device modem statistics when device is within a home network and/or a complementary network |
US20040117443A1 (en) * | 2000-01-13 | 2004-06-17 | International Business Machines Corporation | Method and apparatus for managing instant messaging |
US20010049275A1 (en) * | 2000-02-14 | 2001-12-06 | Pierry Cristiano L. S. | Automated alert state change of user devices for time-based and location-based events |
US6697840B1 (en) * | 2000-02-29 | 2004-02-24 | Lucent Technologies Inc. | Presence awareness in collaborative systems |
US6757362B1 (en) * | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
US20040098462A1 (en) * | 2000-03-16 | 2004-05-20 | Horvitz Eric J. | Positioning and rendering notification heralds based on user's focus of attention and activity |
US20040199663A1 (en) * | 2000-03-16 | 2004-10-07 | Horvitz Eric J. | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US7249159B1 (en) * | 2000-03-16 | 2007-07-24 | Microsoft Corporation | Notification platform architecture |
US20020054117A1 (en) * | 2000-03-16 | 2002-05-09 | Van Dantzich Maarten R. | Scope user interface for displaying the priorities and properties of multiple informational items |
US7155729B1 (en) * | 2000-03-28 | 2006-12-26 | Microsoft Corporation | Method and system for displaying transient notifications |
US6781972B1 (en) * | 2000-03-31 | 2004-08-24 | Lucent Technologies Inc. | Method and system for subscriber-configurable communications service |
US20010030667A1 (en) * | 2000-04-10 | 2001-10-18 | Kelts Brett R. | Interactive display interface for information objects |
US20020054130A1 (en) * | 2000-10-16 | 2002-05-09 | Abbott Kenneth H. | Dynamically displaying current status of tasks |
US20020044152A1 (en) * | 2000-10-16 | 2002-04-18 | Abbott Kenneth H. | Dynamic integration of computer generated and real world images |
US20030046421A1 (en) * | 2000-12-12 | 2003-03-06 | Horvitz Eric J. | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US20070214228A1 (en) * | 2001-03-16 | 2007-09-13 | Microsoft Corporation | Notification platform architecture |
US20040143636A1 (en) * | 2001-03-16 | 2004-07-22 | Horvitz Eric J | Priorities generation and management |
US20030046351A1 (en) * | 2001-09-05 | 2003-03-06 | Mitsubishi Denki Kabushiki Kaisha | Document management system |
USD494584S1 (en) * | 2002-12-05 | 2004-08-17 | Symbol Technologies, Inc. | Mobile companion |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060041583A1 (en) * | 1999-07-30 | 2006-02-23 | Microsoft Corporation | Methods for routing items for communications based on a measure of criticality |
US8166392B2 (en) | 1999-07-30 | 2012-04-24 | Microsoft Corporation | Method for automatically assigning priorities to documents and messages |
US8892674B2 (en) | 1999-07-30 | 2014-11-18 | Microsoft Corporation | Integration of a computer-based message priority system with mobile electronic devices |
US20090119385A1 (en) * | 1999-07-30 | 2009-05-07 | Microsoft Corporation | Integration of a computer-based message priority system with mobile electronic devices |
US20070271504A1 (en) * | 1999-07-30 | 2007-11-22 | Eric Horvitz | Method for automatically assigning priorities to documents and messages |
US20020087649A1 (en) * | 2000-03-16 | 2002-07-04 | Horvitz Eric J. | Bounded-deferral policies for reducing the disruptiveness of notifications |
US7743340B2 (en) | 2000-03-16 | 2010-06-22 | Microsoft Corporation | Positioning and rendering notification heralds based on user's focus of attention and activity |
US8019834B2 (en) | 2000-03-16 | 2011-09-13 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US20090299934A1 (en) * | 2000-03-16 | 2009-12-03 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US20040098462A1 (en) * | 2000-03-16 | 2004-05-20 | Horvitz Eric J. | Positioning and rendering notification heralds based on user's focus of attention and activity |
US9736209B2 (en) * | 2000-03-17 | 2017-08-15 | Facebook, Inc. | State change alerts mechanism |
US9246975B2 (en) | 2000-03-17 | 2016-01-26 | Facebook, Inc. | State change alerts mechanism |
US20130144938A1 (en) * | 2000-03-17 | 2013-06-06 | Facebook, Inc. | State change alerts mechanism |
US20030046421A1 (en) * | 2000-12-12 | 2003-03-06 | Horvitz Eric J. | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US7844666B2 (en) | 2000-12-12 | 2010-11-30 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US20070214228A1 (en) * | 2001-03-16 | 2007-09-13 | Microsoft Corporation | Notification platform architecture |
US7975015B2 (en) | 2001-03-16 | 2011-07-05 | Microsoft Corporation | Notification platform architecture |
US20040143636A1 (en) * | 2001-03-16 | 2004-07-22 | Horvitz Eric J | Priorities generation and management |
US8024415B2 (en) | 2001-03-16 | 2011-09-20 | Microsoft Corporation | Priorities generation and management |
USRE41991E1 (en) * | 2001-04-13 | 2010-12-07 | Cross Joseph K | System and method for managing and communicating state changes of a complex system |
US20020199010A1 (en) * | 2001-06-26 | 2002-12-26 | Ruse Andy L. | System, method and computer program for message delivery based on a trend analysis |
US9560000B2 (en) | 2002-11-18 | 2017-01-31 | Facebook, Inc. | Reconfiguring an electronic message to effect an enhanced notification |
US9515977B2 (en) | 2002-11-18 | 2016-12-06 | Facebook, Inc. | Time based electronic message delivery |
US9769104B2 (en) | 2002-11-18 | 2017-09-19 | Facebook, Inc. | Methods and system for delivering multiple notifications |
US9729489B2 (en) | 2002-11-18 | 2017-08-08 | Facebook, Inc. | Systems and methods for notification management and delivery |
US9571439B2 (en) | 2002-11-18 | 2017-02-14 | Facebook, Inc. | Systems and methods for notification delivery |
US9571440B2 (en) | 2002-11-18 | 2017-02-14 | Facebook, Inc. | Notification archive |
US9203794B2 (en) | 2002-11-18 | 2015-12-01 | Facebook, Inc. | Systems and methods for reconfiguring electronic messages |
US9253136B2 (en) | 2002-11-18 | 2016-02-02 | Facebook, Inc. | Electronic message delivery based on presence information |
US20110071964A1 (en) * | 2004-11-16 | 2011-03-24 | Microsoft Corporation | Building and using predictive models of current and future surprises |
US8706651B2 (en) | 2004-11-16 | 2014-04-22 | Microsoft Corporation | Building and using predictive models of current and future surprises |
US20090006574A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | System and methods for disruption detection, management, and recovery |
US8631419B2 (en) | 2007-06-29 | 2014-01-14 | Microsoft Corporation | System and methods for disruption detection, management, and recovery |
US20090187650A1 (en) * | 2008-01-17 | 2009-07-23 | Ezequiel Cervantes | Method and system for determining probability for availability in an instant message system |
US9501337B2 (en) | 2008-04-24 | 2016-11-22 | Adobe Systems Incorporated | Systems and methods for collecting and distributing a plurality of notifications |
US8589495B1 (en) * | 2009-01-13 | 2013-11-19 | Adobe Systems Incorporated | Context-based notification delivery |
US9754240B2 (en) * | 2009-11-20 | 2017-09-05 | Palo Alto Research Center Incorporated | Method for quickly recovering from task interruption |
US9386102B2 (en) | 2010-11-04 | 2016-07-05 | Panasonic Intellectual Property Corporation Of America | Gateway apparatus, communication apparatus, apparatus co-operation network system, and apparatus co-operation method |
US9589254B2 (en) | 2010-12-08 | 2017-03-07 | Microsoft Technology Licensing, Llc | Using e-mail message characteristics for prioritization |
US10021055B2 (en) | 2010-12-08 | 2018-07-10 | Microsoft Technology Licensing, Llc | Using e-mail message characteristics for prioritization |
US9148398B2 (en) | 2013-03-13 | 2015-09-29 | Google Inc. | Prioritized and contextual display of aggregated account notifications |
US20140324972A1 (en) * | 2013-04-28 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Method, Server, User Terminal, and System For Pushing Notification Message |
US9826055B2 (en) * | 2013-04-28 | 2017-11-21 | Tencent Technology (Shenzhen) Company Limited | Method, server, user terminal, and system for pushing notification message |
US9871756B1 (en) * | 2014-02-13 | 2018-01-16 | Google Inc. | Methods for displaying notifications |
Also Published As
Publication number | Publication date |
---|---|
US6847924B1 (en) | 2005-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7249159B1 (en) | Notification platform architecture | |
US20070011314A1 (en) | Notification platform architecture | |
US7975015B2 (en) | Notification platform architecture | |
US7243130B2 (en) | Notification platform architecture | |
US6513026B1 (en) | Decision theoretic principles and policies for notification | |
US6601012B1 (en) | Contextual models and methods for inferring attention and location | |
US8024415B2 (en) | Priorities generation and management | |
EP1287444B1 (en) | Priorities generation and management | |
JP5243679B2 (en) | Notification platform architecture | |
US20020087649A1 (en) | Bounded-deferral policies for reducing the disruptiveness of notifications | |
US7417650B1 (en) | Display and human-computer interaction for a notification platform | |
WO2001084764A2 (en) | Transmitting information given constrained resources | |
US7209916B1 (en) | Expression and flexibility framework for providing notification(s) | |
KR101064769B1 (en) | System for filtering incoming messages and method for facilitating message processing | |
JP5189768B2 (en) | System and method for extending application preference classes | |
JP4896726B2 (en) | System, method and storage device for performing actions based on evaluation of conditions of preference | |
US7177859B2 (en) | Programming model for subscription services | |
US8694901B2 (en) | Method and system for mashing up and presenting contextual suggestions to mobile users | |
US20040002988A1 (en) | System and method for modeling subscriptions and subscribers as data | |
JP2012074061A (en) | Notification platform architecture | |
EP1852789A1 (en) | Priorities generation and management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HORVITZ, ERIC J.;HOVEL, DAVID O.;JACOBS, ANDREW W.;AND OTHERS;REEL/FRAME:018290/0251;SIGNING DATES FROM 20000815 TO 20001003 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001 Effective date: 20141014 |