The present invention relates to systems that display presence information in general, and more particularly to determining differential availability and providing notification therefor via computer or telecommunications networks.
Communication services, instant messaging tools, and other applications often provide users with presence information regarding the current availability of other users. However, such presence information is deficient in several ways. For example, a user's availability is typically characterized with respect to a limited number of situations, such as whether a user is active, idle, or offline. A user's level/degree of availability is also typically person agnostic, and is not based on communication history. The operation of some presence information systems raises privacy issues by exposing a user's context to other users with availability characterizations such as “on the phone” or “in his office.”
The present invention discloses a system and method for determining and communicating differential availability, where a subject's availability with respect to another party is determined with respect to the subject's past communication behavior in various contexts and/or with various parties.
In another aspect of the present invention a method is provided for determining differential availability, the method including identifying a current context of a first entity, and determining a current availability value of the first entity with respect to a second entity in accordance with an availability function, where the availability function is adaptive in accordance with an adaptation process to at least one past actual availability value of the first entity with respect to the second entity in a previous context at least partially related to the current context, and where the availability function is operative to determine the current availability value as a function of the current context.
In another aspect of the present invention the method further includes providing to the second entity a notification of the current availability of the first entity with respect to the second entity, where the notification is a representation of the current availability value.
In another aspect of the present invention any of the entities is any of a person, a process, a machine, and a collection of data.
In another aspect of the present invention the method further includes adapting the availability function in relation to the difference between the current availability value and an actual availability value.
In another aspect of the present invention the identifying step includes determining any of the current location of the first entity, an activity in which the first entity is currently engaged, and either of a date and a time at the current location of the first entity.
In another aspect of the present invention the determining step includes determining where the past actual availability value is a measure of a communication interaction between the first entity and the second entity in the previous context.
In another aspect of the present invention the determining step includes determining where the communication interaction is either of a synchronous communication interaction and an asynchronous communication interaction.
In another aspect of the present invention the determining step includes determining where the communication interaction is defined as either of a) the first entity accepting a communication initiated by the second entity, and b) the first entity initiating a communication to the second entity.
In another aspect of the present invention the determining step includes determining where the measure indicates either of a) whether the first entity previously answered a telephone call from the second entity in the previous context, and b) a response time by the first entity to a computer-based chat prompt by the second entity.
In another aspect of the present invention the providing step includes providing the notification in the form of any of a) a continuous spectrum icon whose color varies in accordance with different availability values, b) a color icon whose color intensity varies in accordance with different availability values, c) an index and a scale, where the position of the index relative to the scale varies in accordance with different availability values, and d) the current availability value expressed on a continuous scale.
In another aspect of the present invention a system is provided for differential availability determination, including a behavior sensor operative to identify a current context of a first entity, an availability determinator operative to determine a current availability value of the first entity with respect to a second entity in accordance with an availability function applied to the current context, and an adaptation processor operative to adapt the availability function in accordance with an adaptation process to at least one past actual availability value of the first entity with respect to the second entity in a previous context at least partially related to the current context.
In another aspect of the present invention the system further includes means for providing to the second entity a notification of the current availability of the first entity with respect to the second entity, where the notification is a representation of the current availability value.
In another aspect of the present invention any of the entities is any of a person, a process, a machine, and a collection of data.
In another aspect of the present invention the adaptation processor is operative to adapt the availability function in relation to the difference between the current availability value and an actual availability value.
In another aspect of the present invention the availability determinator is operative to determine any of the current location of the first entity, an activity in which the first entity is currently engaged, and either of a date and a time at the current location of the first entity.
In another aspect of the present invention the past actual availability value is a measure of a communication interaction between the first entity and the second entity in the previous context.
In another aspect of the present invention the communication interaction is defined as either of a) the first entity accepting a communication initiated by the second entity, and b) the first entity initiating a communication to the second entity.
In another aspect of the present invention the measure indicates either of a) whether the first entity previously answered a telephone call from the second entity in the previous context, and b) a response time by the first entity to a computer-based chat prompt by the second entity.
In another aspect of the present invention the notification is provided in the form of any of a) a continuous spectrum icon whose color varies in accordance with different availability values, b) a color icon whose color intensity varies in accordance with different availability values, c) an index and a scale, where the position of the index relative to the scale varies in accordance with different availability values, and d) the current availability value expressed on a continuous scale.
In another aspect of the present invention a computer-implemented program is provided embodied on a computer-readable medium, the computer program including a first code segment operative to identify a current context of a first entity, and a second code segment operative to determine a current availability value of the first entity with respect to a second entity in accordance with an availability function, where the availability function is adaptive in accordance with an adaptation process to at least one past actual availability value of the first entity with respect to the second entity in a previous context at least partially related to the current context, and where the availability function is operative to determine the current availability value as a function of the current context.
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:
Reference is now made to
A current availability value 104 of entity A may be calculated with respect to an entity B to determine the extent to which entity A is available to entity B. Current availability value 104 is calculated using an availability determinator 106, which employs an adaptive function. It will be appreciated that entity A may have different current availability values with respect to different entities (B, C, . . . ), where each current availability value is separately and independently calculated for a given entity using a different availability function maintained for each entity. Availability determinator 106 applies an availability function to the current context of entity A to generate current availability value 104. Thus, for example, if entity A's current context is “morning, at work, participating in a meeting,” and in the past, based on sufficient sampling of entity A's past actual behavior, entity A answered 90% telephone calls from entity B (e.g., his boss) when in this context, and from C (e.g., his friend) only 10% of the time, then the current availability of entity A would be higher with respect to entity B than with respect to entity C. A's availability during the meeting may be 0.8 with respect to his boss and only 0.05 with respect to his friend.
The availability function of availability determinator 106 may be modified in relation to the difference between one or more calculated availability values 104 and corresponding actual availability values 110 of entity A with respect to entity B in one or more previous contexts that are partly or wholly related to the entity A's current context. Actual availability value 110 may be expressed as a measure of past actual availability behavior of entity A, such as of a positive or negative communication interaction between entity A and entity B, as may be determined by a behavior sensor 102. A positive communication interaction between A and B may describe such cases as A accepting a communication initiated by B, or A initiating a communication to B, although these cases may be weighted differently. For example, entity A's availability value with respect to entity B might indicate that entity A should be available to entity B in a given context, yet entity A's actual behavior shows that entity A didn't answer a telephone call from entity B. Alternatively, entity A might actually answer a call from entity B despite determining a low availability value for entity A. The communication interaction may be synchronous, such as where entity A answers a telephone call or chat prompt from entity B, in which case the behavior measurement may indicate whether or not entity A answered the telephone call or chat prompt or entity A's response time. Alternatively, the communication interaction may be asynchronous, such as where entity A responds to an email sent by entity B, in which case the behavior measurement may indicate whether or not entity A answered the email or how long until entity A responded. Thus, continuing with the previous example, if entity A's current context is “morning, at work, participating in a meeting,” and in the past entity A rarely (e.g., ˜10%) answered telephone calls from entity C in this context but recently started answering all the telephone call from entity C while participating in a meeting (e.g., A answered B's last 10 calls), then the availability function for entity B may be adapted accordingly, and entity A's current availability with respect to entity B may be increased on it's continuous scale between 0 and 1 (e.g., may increase from 0.05 to 0.6).
Behavior sensor 102 may be any mechanism for determining the behavior of entity A with respect to a communication interaction, such as any known mechanism for determining whether or not entity A answers a telephone call, a chat, or an email, or whether entity A initiated a telephone call, a chat, etc. It is appreciated that an entity's behavior may be measured using any level of data abstraction or granularity.
Thus, in the system and method of
Once availability determinator 106 has determined the current availability value 104 of entity A, a notification of current availability value 104 may be provided to entity B via a computer network or a telecommunications network, such as to a cellular telephone. Current availability value 104 may be represented in the form of a color icon or continuous spectrum icon whose color or color intensity varies in accordance with different availability values. Alternatively, current availability value 104 may be represented in the form of an index and a scale, where the position of the index relative to the scale varies in accordance with different availability values.
The system and method of
The learning process may be implemented using conventional neural network algorithms. As the availability of user A varies for each buddy on his list, separate neural networks are preferably employed for each buddy. The input of these neural networks are data that may be received from multiple sources, such as raw data from sensors abstracted to meaningful levels (e.g., GPS coordinates translated to locations), user A's calendar (e.g., indicating his assumed location and activity), the time of day at user A's location, and/or other sources of location and activity information. The availability function implemented by a neural network may be adapted by changing the synaptic weights by an amount proportional to the difference between previously calculated availability values and actual availability values.
Reference is now made to
It is appreciated that one or more of the steps of any of the methods described herein may be omitted or carried out in a different order than that shown, without departing from the true spirit and scope of the invention.
While the methods and apparatus disclosed herein may or may not have been described with reference to specific computer hardware or software, it is appreciated that the methods and apparatus described herein may be readily implemented in computer hardware or software using conventional techniques.
While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention.