The present invention relates generally to communication systems and, more particularly, to a method and system for determining whether a person is potentially unavailable for communication.
Communication technology has reached the point where people are accessible at almost any time and location. Unfortunately, conventional communication technology does little to address the problem of making connections between people at appropriate times or in accordance with appropriate social conventions. In some conventional communication systems, the user can explicitly set his or her availability status in the network, but this approach results in availability information that is only sporadically obtainable and is often outdated or simply wrong.
In the past, research has been conducted on awareness systems that give a contacting party some context regarding the party they are trying to contact. Instant messaging (IM) systems are a recent example of such an awareness system. One of the most compelling features of instant messaging (IM) systems is presence, which is generally used in the context of communications systems to indicate whether a person can be reached via a synchronous communication network. Presence information is helpful to a contacting party, but does not provide the contacting party with any indication as to how receptive the party being contacted is to being interrupted. In addition, in current IM systems, presence is typically detected from the use of an input device, e.g., a keyboard or a mouse, for a computer. This provides an indication of device presence, which does not always equate to physical presence. When a person's presence is determined primarily on the basis of device presence, the person is susceptible to being contacted when they are most busy and least receptive to interruption, e.g., when they are typing a document on the computer.
In view of the foregoing, there is a need for communication technology that facilitates communication between people who are not aware of each other's activities and availability by not only enabling a contacting party to determine whether a person can be reached for communication, but also enabling the contacting party to determine how receptive that person is to being contacted.
Broadly speaking, the present invention fills this need by providing, among other things, a method and system for determining whether a person is potentially unavailable for communication that uses the passive collection of availability cues, which are gathered from a user's actions and environment using sensors, to provide inferencing regarding the person's potential unavailability.
In accordance with one aspect of the present invention, a method for determining whether a person is potentially unavailable for communication is provided. In this method, sensors are provided at a location to obtain information regarding a state of availability for communication of a first person at the location. The information regarding potential unavailability of the first person for communication is presented to a second person. In one embodiment, the sensors include at least one of a motion sensor, a sound sensor, a door sensor, or a telephone sensor. In one embodiment, the second person is at a location that is remote from the location of the first person. In one embodiment, the presenting of the information to the second person regarding potential unavailability of the first person for communication occurs before the second person attempts to communicate with the first person. In one embodiment, the information regarding potential unavailability of the first person for communication is presented to the second person using a user interface. In one embodiment, the user interface is configured for a device such as a computer, a personal digital assistant (PDA), or a wireless telephone. In one embodiment, the information regarding potential unavailability of the first person for communication is presented in a scaled order of potential unavailability.
In accordance with another aspect of the present invention, another method for determining whether a person is potentially unavailable for communication is provided. In this method, a plurality of sensors is used to acquire data regarding a person's presence and a person's potential unavailability for communication. The person's presence and the person's potential unavailability for communication are assessed by using the data acquired by the plurality of sensors to reach an inference regarding the person's presence and an inference regarding the person's potential unavailability for communication. The inference regarding the person's presence and the inference regarding the person's potential unavailability for communication is presented to other persons before such other persons attempt to communicate with the person.
In one embodiment, the person's presence and the person's potential unavailability for communication are assessed using an inferencing engine to analyze the data acquired by the plurality of sensors. In one embodiment, the inference regarding the person's presence is reached by combining data from a motion sensor, a sound sensor, and a telephone sensor with data regarding activity detected from an input device. In one embodiment, the inference regarding the person's potential unavailability for communication is reached by combining data from a telephone sensor, a sound sensor, and a door sensor. In one embodiment, a user interface is used to present the inference regarding the person's presence and the inference regarding the person's potential unavailability for communication.
In accordance with a further aspect of the present invention, a system for determining whether a person is potentially unavailable for communication is provided. The system includes a data acquisition module having sensor receiving ports for receiving data from a plurality of sensors, and the data acquisition module is configured to transmit signal data from the plurality of sensors over a network. The system also includes an inferencing engine configured to receive the signal data from the plurality of sensors over the network and to use the signal data to reach an inference regarding a person's presence and an inference regarding the person's potential unavailability for communication. The system further includes a presence service for presenting the inference regarding the person's presence and the inference regarding the person's potential unavailability for communication to other persons over the network before such other persons attempt to communicate with the person.
In one embodiment, the data acquisition module includes sensor receiving ports for receiving data from a motion sensor, a sound sensor, a door sensor, and a telephone sensor. In one embodiment, the data acquisition module further includes receiving ports for receiving activity data from at least one input device, e.g., a keyboard, a mouse, or a stylus. In one embodiment, the presence service presents the inference regarding the person's presence and the inference regarding the person's potential unavailability for communication to a user interface displayed on a user device connected to the network. In one embodiment, the user interface is in the form of a contact list. In one embodiment, the contact list further includes an entry for a person who does not have sensors for assessing the person's presence, and the contact list is configured to distinguish the entry for the person who does not have sensors from an entry for a person whose presence information is assessed using sensors.
In one embodiment, the system includes means for receiving data from a plurality of sensors and for transmitting signal data from the plurality of sensors over a network. The system also includes means for receiving the signal data from the plurality of sensors over the network and for using the signal data to reach an inference regarding a person's presence and an inference regarding the person's potential unavailability for communication. The system further includes means for presenting the inference regarding the person's presence and the inference regarding the person's potential unavailability for communication to other persons over the network before such other persons attempt to communicate with the person.
In one embodiment, the system further includes means for rendering and displaying the inference regarding the person's presence and the inference regarding the person's potential unavailability for communication. In one embodiment, the system further includes means for overriding the inference regarding the person's potential unavailability for communication.
In accordance with a still further aspect of the present invention, a computer readable medium containing program instructions for determining whether a person is potentially unavailable for communication is provided. The computer readable medium includes program instructions for receiving signal data from a plurality of sensors over a network and for using the signal data to reach an inference regarding a person's presence and an inference regarding the person's potential unavailability for communication. The computer readable medium also includes program instructions for presenting the inference regarding the person's presence and the inference regarding the person's potential unavailability for communication to other persons over the network.
It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate exemplary embodiments of the invention and together with the description serve to explain the principles of the invention.
Several exemplary embodiments of the invention will now be described in detail with reference to the accompanying drawings.
With continuing reference to
Data acquisition module 102 also includes signal processing circuitry 136, which has an interface (I/O) that collects the sensor signals from sensor receiving ports 124. Signal processing circuitry 136 performs any necessary processing on the sensor signals based on threshold requirements or local input, and communicates the signal data to network interface card (NIC) 138. Signal processing circuitry 136 may be provided on a chip as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), an electrically erasable programmable read only memory (EEPROM), or a digital signal processor (DSP). Alternatively, signal processing circuitry 136 may be implemented by a circuit layout on a printed circuit board. As is well known to those skilled in the art, network interface card (NIC) 138 packetizes the signal data and transmits the packetized signal data over network 116. NIC 138 uses a suitable communication protocol such as, for example, Ethernet and/or simple TCP/IP.
With continuing reference to
When process software 118 receives signal data, the signal data is processed by inferencing engine 118a to reach an inference regarding the person's presence and an inference regarding the person's potential unavailability for communication. Inferencing engine 118a reaches the inference regarding the person's presence by combining signal data from motion sensor 134, sound sensor 130, telephone sensor 126, and input device 112 (see
As shown in Table 1, inferencing engine 118a infers potential unavailability in a scaled order having three different levels. The “neutral” level indicates that inferencing engine 118a is unable to determine whether or not the person is in an available state of mind. The “possibly unavailable” level indicates that inferencing engine 118a has some indications that the person may not be available, but cannot definitively conclude that the person is not available. The “probably unavailable” level indicates that inferencing engine 118a has indications that the person is likely to be unavailable, i.e., not available for an interruption. The “possibly unavailable” and “probably unavailable” levels are deliberately chosen to be somewhat vague for two reasons. First, to reflect that predictions regarding a person's state of mind are not 100% accurate. Second, to avoid having the system convey unapproachability too strongly and thereby overly discourage necessary interruptions. When the user activates override switch 142 (see
Inferencing engine 118a uses a decision tree as the inferencing model because a decision tree is relatively straightforward to implement and, in comparison with other techniques, has been found to have the highest level of accuracy. If desired, other inferencing techniques can be used in inferencing engine 118a such as, for example, a Bayesian Network, Hidden Markov Models, and rule-based systems. In addition, it will be apparent that inferencing engine 118a can use sensor data in addition to that from telephone sensor 126, door sensor 128, and sound sensor 130 to reach the inference regarding a person's potential unavailability for communication. By way of example, inferencing engine 118a can also use activity from an input device associated with a computer, e.g., a keyboard, a mouse, or a stylus.
Referring to
As noted above, the inference regarding the potential unavailability of a person for communication is not 100% accurate. Thus, the system does not attempt to block or re-route contact attempts from prospective callers. A contacting party, e.g., a caller, may choose to contact someone who is inferred to be “probably unavailable,” but may modify how they approach the party being contacted. For example, the caller might say “I see that you are busy but this is quick” or “I'm sorry to interrupt, but this is important.” The system deliberately leaves the contact decision up to the contacting party so that the system does not prevent necessary communication.
If desired, the user interface may be configured so that a user can explicitly set their status in the client application when they want to convey more details about their availability than the inference alone. By way of example, through the use of appropriate icons, a user can explicitly indicate that they are performing certain tasks, e.g., reading or typing a paper. The tradeoffs between proactive status setting and passive collection of context information are complementary, such that it may be desirable to include both types of information in the user interface. Whereas proactive status is obtained only when the user remembers to set it, passively collected information is updated as soon as a change in the user's context is detected. Thus, proactive status information is only sporadically available and possibly stale, whereas the passively collected data is obtained frequently and is fresh. On the other hand, a person's intent and state of mind cannot be determined from passively collected context information, but a proactively entered status description can make such things clear.
The method and system for determining whether a person is potentially unavailable for communication have been described herein in the context of an example in an office setting. It will be apparent to those skilled in the art that the method and system may be implemented in any setting where communication is needed among people who are remote from one another, i.e., physically separated from one another, and who do not have physical awareness of each other's activities and availability. As used herein, people who are remote from one another include people who are miles apart from one another, as well as people who are in adjacent offices or rooms. In addition, in the embodiments shown and described herein, a single data acquisition module collects data from a plurality of sensors. It will be apparent to those skilled in the art that more than one data acquisition module can be used. If desired, each sensor can be provided with a separate data acquisition module.
Those skilled in the art will recognize that the order in which the method operations are performed may be varied from that described herein, e.g., by rearranging the order in which the method operations are performed or by performing some of the method operations in parallel. In addition, the present invention may be practiced with other computer system configurations including hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
With the embodiments described herein in mind, it should be understood that the present invention may employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. These quantities usually, but not necessarily, take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to using terms such as producing, identifying, determining, or comparing.
Any of the operations described herein that form part of the present invention are useful machine operations. The invention also relates to a device or an apparatus for performing these operations. The apparatus may be specially constructed for the required purposes, or it may be a general purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
The present invention also can be embodied as computer readable code on a computer readable medium. The computer readable medium may be any data storage device that can store data which can be thereafter be read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium also can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
In summary, the present invention provides a method and system for determining whether a person is potentially unavailable for communication. The invention has been described herein in terms of several exemplary embodiments. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention. The embodiments and preferred features described above should be considered exemplary, with the invention being defined by the appended claims and equivalents thereof.
Number | Name | Date | Kind |
---|---|---|---|
5815554 | Burgess et al. | Sep 1998 | A |
5960442 | Pickering | Sep 1999 | A |
6076093 | Pickering | Jun 2000 | A |
6389127 | Vardi et al. | May 2002 | B1 |
6618591 | Kalliokulju et al. | Sep 2003 | B1 |